CN102073545A - 操作系统中防止用户界面卡屏的进程调度方法及装置 - Google Patents
操作系统中防止用户界面卡屏的进程调度方法及装置 Download PDFInfo
- Publication number
- CN102073545A CN102073545A CN 201110047623 CN201110047623A CN102073545A CN 102073545 A CN102073545 A CN 102073545A CN 201110047623 CN201110047623 CN 201110047623 CN 201110047623 A CN201110047623 A CN 201110047623A CN 102073545 A CN102073545 A CN 102073545A
- Authority
- CN
- China
- Prior art keywords
- operating system
- user
- timeslice
- window
- user interface
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- User Interface Of Digital Computer (AREA)
Abstract
本发明公开了一种操作系统中防止用户界面卡屏的进程调度方法及装置,所述方法的步骤包括:1)设定第一阈值;2)判断CPU资源占用率;操作系统当前的CPU资源占用率大于所述第一阈值时,执行步骤3);3)获取面向用户感受进程;将当前处于用户界面顶层窗口的程序、拥有输入焦点窗口的程序、以及其它用户关心程序所对应的进程作为面向用户感受进程;4)调节面向用户感受进程;提高面向用户感受进程在操作系统任务调度中的相对优先级。所述装置包括任务调度器(1)、主引擎(2)和分别与主引擎(2)相连的内核信息探测器(3)、优先级随动器(4)、预设程序配置器(5)、窗口进程关联器(6)。本发明具有用户体验流畅、资源分配公平合理、软件开销小、适用范围广的优点。
Description
技术领域
本发明涉及操作系统中的进程调度机制,具体涉及一种防止操作系统作业繁忙时导致面向用户感受进程出现卡顿故障的进程调度方法及装置。
背景技术
当前的终端智能设备,特别是个人计算机中,一般都会运行擅长多媒体信息处理的操作系统,输入和输出全部以直观的图形窗口形式完成。当计算机因作业众多而处于繁忙状态时,常常会造成对用户的响应缓慢,直观表现就是图形构件的刷新慢于人们的习惯或预期,即所谓“卡屏”。例如,鼠标的光标不随手的移动呈现连续性位移,而是在屏幕上间歇性的跳动;任务窗口不能随用户的点击立刻转移到桌面的顶端。此外本发明将多媒体播放不能提供合乎自然规律的视听感受,断断续续或有停滞感这样的现象也是归为用户界面卡屏问题。这些用户界面卡屏现象在目前的主流操作系统,如微软公司的Windows系列个人用户操作系统、各种开源Linux桌面操作系统、苹果公司的Mac OS、以及嵌入在各种掌上设备中的嵌入式操作系统中都有表现。随着信息化时代的到来,智能设备将更多的出现在生产生活的方方面面,改进和解决“卡屏”问题对于完善人机界面,提高操作效率都非常重要。用户界面卡屏故障现象的出现和“用户感受”受到影响是等价的,用户界面卡屏故障现象的关键在于面向用户感受进程没有得到更充分的运行,即面向用户感受进程的运行速度低于用户的预期,面向用户感受进程具体体现为处于桌面顶层的程序窗口、拥有输入焦点的程序窗口、包括影音服务程序等在内的特定程序所对应的进程。
调度技术是多任务计算机的运行基础,各种任务都以分时共享的方式使用处理器(CPU)资源,用户的输入输出和各种图形显示也在计算机要调度的任务之列。一般的多任务调度器都会将任务分为两个大类:实时性任务和非实时任务。本发明中的内容只涉及非实时性任务的调度,即只关心此类任务的用户感受,下文中提到的任务都是指非实时性任务。以Kylin Linux操作系统为例,任务的调度一般是对两个重要的因素“优先级和时间片”进行考察和调节,作为调度算法的主要参考。在任务被创建时,根据用户的要求给其优先级赋一个初值,并计算对应的时间片初值。在任务运行过程中,时间片不断减少,而优先级一般保持不变(除非用户干预),以便在时间片变为0的时候(该任务用完了所分配的时间片)对时间片重新赋值。当一个任务的时间片用完以后,并不马上对时间片进行赋值,只有所有处于可运行状态的任务的时间片都用完了以后,才用优先级对时间片重新赋值,这个任务才有了再次被调度的机会。也就是说任务运行时,时间片的减小给了其它任务得以运行的机会,直至时间片减为 0 时才完全放弃对 CPU 的使用,这就相当于优先级在动态变化,所以称之为动态优先级调度。当前的多数操作系统中,所有由用户执行的程序和系统的图形服务程序都是以同样的系统默认优先级运行,系统赋给它们相同的运行机会,当系统因任务数多而负载较重时,“用户感受”相关任务所得到的绝对CPU时间也会减小,造成用户响应或者声像输出的缓慢。然而在一般操作系统中这并非一个容易解决的问题,主要的原因有几个方面:操作系统和应用程序由不同厂商提供,难以预知哪些应用是用户所关心的;图形服务和操作系统内核是分离的,图形服务的使用者和图形服务也可能是松耦合的,内核很难获知当前用户正在操作哪个任务;有些任务例如音/视频播放器,即使用户不对其有任何操作,也同样关心其输出质量。
随着信息化时代的到来,智能设备将更多的出现在生产生活的方方面面,面向用户感受进程卡顿故障现象已经严重影响了操作系统的人机界面的友好交互性,降低了人机界面的操作效率,成为有待解决的关键技术问题。
发明内容
本发明要解决的技术问题为提供一种用户体验流畅、资源分配公平合理、软件开销小、适用范围广的操作系统中防止用户界面卡屏的进程调度方法及装置。
为了解决上述技术问题,本发明采用的技术方案为: 一种操作系统中防止用户界面卡屏的进程调度方法,其实施步骤如下:
1)设定第一阈值;
2)判断CPU资源占用率;定时获取操作系统当前的进程队列和CPU资源占用率,若CPU资源占用率大于所述第一阈值时,执行步骤3);
3)获取面向用户感受进程;将当前处于用户界面顶层窗口的程序对应的进程和拥有输入焦点窗口的程序所对应的进程作为面向用户感受进程;
4)调节面向用户感受进程;提高所述面向用户感受进程在操作系统中的相对优先级。
作为本发明操作系统中防止用户界面卡屏的进程调度方法的进一步改进:
所述步骤1)中还包括设定用于与用户进行音视频交互的预设程序列表,所述步骤3)中获取面向用户感受进程时,一并将当前运行并属于所述预设程序列表的程序所对应的进程作为面向用户感受进程。
所述步骤1)中还包括设定第二阈值,所述第二阈值比第一阈值大,所述步骤2)判断CPU资源占用率时,若CPU资源占用率大于所述第二阈值,则在所述步骤4)中增加所述面向用户感受进程的时间片。
所述增加面向用户感受进程的时间片时,首先在建立进程时建立与该进程关联并预置零值的计数器,然后对操作系统中运行的进程进行判断,如果该进程为面向用户感受进程且与该进程关联的计数器为零,则执行增加该进程的时间片,并将所述计数器修改为非零值。
所述增加的时间片为所述面向用户感受进程的当前时间片的1~3倍。
所述步骤4)中提高面向用户感受进程在操作系统进程队列中的相对优先级时,首先保存受影响进程的原始优先级,所述步骤2)中若CPU资源占用率小于第一阈值时,恢复受影响进程的原始优先级。
所述步骤3)获取面向用户感受进程时,首先在初始化程序窗口时建立程序窗口与程序进程的窗口进程关联数据表,然后在获取面向用户感受进程时,通过查询所述窗口进程关联数据表得到处于用户界面顶层窗口的程序对应的进程和拥有输入焦点窗口的程序所对应的进程。
本发明的技术方案还提供一种操作系统中防止用户界面卡屏的进程调度装置,包括任务调度器,它还包括主引擎和分别与主引擎相连的内核信息探测器、优先级随动器、预设程序配置器、窗口进程关联器,所述优先级随动器与任务调度器相连,所述主引擎包括存储有第一阈值的阈值存储器,所述内核信息探测器检测操作系统的进程队列和CPU资源占用率并输出至主引擎,所述预设程序配置器存储用于与用户进行音视频交互的预设程序列表并输出至主引擎,所述窗口进程关联器获取当前处于用户界面顶层窗口的程序对应的进程和拥有输入焦点窗口的程序所对应的进程并输出至主引擎,所述主引擎在CPU资源占用率大于第一阈值时将操作系统的进程队列中与预设程序配置器和窗口进程关联器的输出信息相匹配的进程作为面向用户感受进程,并输出控制命令至优先级随动器,所述优先级随动器根据控制命令调节面向用户感受进程在操作系统进程队列中的相对优先级。
作为本发明操作系统中防止用户界面卡屏的进程调度装置的进一步改进:
所述阈值存储器还存储有第二阈值,所述第二阈值比第一阈值大,所述任务调度器包括时间片重分配单元和时间片随动开关,所述主引擎通过时间片随动开关与时间片重分配单元相连,所述主引擎在CPU资源占用率大于第二阈值时输出开启信号至时间片随动开关,所述时间片重分配单元在时间片随动开关开启时增加面向用户感受进程的时间片。
所述主引擎包括定时器、进程获取模块和决策通信模块,所述进程获取模块分别与定时器、预设程序配置器、窗口进程关联器相连,所述决策通信模块通过通信链路分别与内核信息探测器、优先级随动器、时间片随动开关相连,所述进程获取模块由定时器触发后根据预设程序配置器和窗口进程关联器输出的信息获取面向用户感受进程,所述决策通信模块执行CPU资源占用率的判定,并根据判定结果控制优先级随动器的工作和时间片随动开关的开启状态。
本发明具有下述优点:
1、本发明操作系统中防止用户界面卡屏的进程调度方法通过识别面向用户感受进程,从而提高面向用户感受进程的相对优先级,使得面向用户感受进程可以获得相对更多的CPU资源,仅仅在系统负载较重时才进行CPU资源的重新分配,可以防止操作系统中出现进程卡顿故障现象,保持交互性和用户感受同时所有任务都有公平的运行机会,可以应用于所有具备优先级调度功能的多任务操作系统中,具有用户体验流畅、资源分配公平合理、软件开销小、适用范围广的优点;
2、本发明不仅可以提高涉及窗口的面向用户感受进程的优先级,还可以通过窗口进程关联数据表实现提高与用户进行音视频交互程序的优先级;
3、本发明通过CPU资源占用率大于第二阈值时增加面向用户感受进程的时间片,仅仅在系统负载非常严重时才增加面向用户感受进程的时间片操作,因此即使在系统负载非常严重时也可以最大限度保证面向用户感受进程的CPU资源,保障面向用户感受进程的流畅运行。
4、本发明通过进程关联并预置零值的计数器来判断增加时间片,面向用户感受进程之间增加时间片更加合理;
5、本发明当CPU资源占用率小于第一阈值时,恢复所述面向用户感受进程的原始优先级,在系统负载较轻时不会影响现有的进程调度机制;
6、本发明通过窗口进程关联数据表来查找处于用户界面顶层窗口的程序对应的进程和拥有输入焦点窗口的程序所对应的进程,可以应用于窗口与进程松耦合的操作系统,适应性好。
本发明操作系统中防止用户界面卡屏的进程调度装置由于采用上述方法相对应的结构,因此也具有与上述操作系统中防止用户界面卡屏的进程调度方法相对应的优点。
附图说明
图1为本发明实施例的操作系统中防止用户界面卡屏的进程调度方法的流程示意图;
图2为本发明实施例的操作系统中防止用户界面卡屏的进程调度装置的结构示意图;
图3为本发明实施例的获取面向用户感受进程信息的流程示意图;
图4为本发明实施例的任务调度器的状态切换示意图;
图5为Kylin Linux中的时间片分配机制的流程示意图;
图6为本发明实施例的时间片分配机构的流程示意图;
图7为本发明实施例中进程调度方法的工作过程示意图。
图例说明:1、任务调度器;11、时间片重分配单元;2、主引擎;21、定时器;22、进程获取模块;23、决策通信模块;24、阈值存储器;3、内核信息探测器;4、优先级随动器;5、预设程序配置器;6、窗口进程关联器;7、时间片随动开关。
具体实施方式
如图1所示,本发明实施例的操作系统中防止用户界面卡屏的进程调度方法的实施步骤如下:
1)设定第一阈值;
2)判断CPU资源占用率;定时获取操作系统当前的进程队列和CPU资源占用率,若CPU资源占用率大于第一阈值时,执行步骤3);
3)获取面向用户感受进程;将当前处于用户界面顶层窗口的程序对应的进程和拥有输入焦点窗口的程序所对应的进程作为面向用户感受进程;
4)调节面向用户感受进程;提高面向用户感受进程在操作系统进程队列中的相对优先级。
本实施例中,步骤1)中还包括设定用于与用户进行音视频交互的预设程序列表,步骤3)中获取面向用户感受进程时,一并将当前运行并属于预设程序列表的程序所对应的进程作为面向用户感受进程。
本实施例中,步骤1)中还包括设定第二阈值,第二阈值比第一阈值大,步骤2)判断CPU资源占用率时,若CPU资源占用率大于第二阈值,则在步骤4)中增加面向用户感受进程的时间片。如果CPU资源占用率大于第二阈值,则针对面向用户感受进程同时执行提高相对优先级、增加时间片,否则若CPU资源占用率位于第一阈值与第二阈值之间,则单独针对面向用户感受进程执行提高相对优先级。针对操作系统中负载情况的不同采取不同的措施来达到最优的效果,有利于面向用户感受进程的流畅运行,并可以兼顾其他进程调度的公平性。增加面向用户感受进程的时间片时,首先在建立进程时建立与该进程关联并预置零值的计数器,然后对操作系统中运行的进程进行判断,如果该进程为面向用户感受进程且与该进程关联的计数器为零,则执行增加该进程的时间片,并将计数器修改为非零值。增加的时间片为面向用户感受进程的当前时间片的1~3倍,本实施例中,增加的时间片为面向用户感受进程的当前时间片的2倍。
本实施例中,步骤4)中提高面向用户感受进程在操作系统进程队列中的相对优先级时,首先保存受影响进程的原始优先级,步骤2)中若CPU资源占用率小于第一阈值时,恢复受影响进程的原始优先级。
本实施例中,步骤3)获取面向用户感受进程时,首先在初始化程序窗口时建立程序窗口与程序内核进程关联数据表,然后在获取面向用户感受进程时,通过查询窗口进程关联数据表得到处于用户界面顶层窗口的程序对应的内核进程或拥有输入焦点的程序所对应的内核进程。
如图2所示,本发明实施例的操作系统中防止用户界面卡屏的进程调度装置包括任务调度器1,它还包括主引擎2和分别与主引擎2相连的内核信息探测器3、优先级随动器4、预设程序配置器5、窗口进程关联器6,优先级随动器4与任务调度器1相连,主引擎2包括存储有第一阈值的阈值存储器24,内核信息探测器3检测操作系统的进程队列和CPU资源占用率并输出至主引擎2,预设程序配置器5存储用于与用户进行音视频交互的预设程序列表并输出至主引擎2,窗口进程关联器6获取当前处于用户界面顶层窗口的程序对应的进程和拥有输入焦点窗口的程序所对应的进程并输出至主引擎2,主引擎2在CPU资源占用率大于第一阈值时将操作系统的进程队列中与预设程序配置器5和窗口进程关联器6的输出信息相匹配的进程作为面向用户感受进程,并输出控制命令至优先级随动器4,优先级随动器4根据控制命令调节面向用户感受进程在操作系统进程队列中的相对优先级。
本实施例中,阈值存储器24还存储有第二阈值,第二阈值比第一阈值大,任务调度器1包括时间片重分配单元11和时间片随动开关7,主引擎2通过时间片随动开关7与时间片重分配单元11相连,主引擎2在CPU资源占用率大于第二阈值时输出开启信号至时间片随动开关7,时间片重分配单元11在时间片随动开关7开启时增加面向用户感受进程的时间片。
本实施例基于kylin Linux实现,任务调度器1为操作系统内核层模块,主引擎2、预设程序配置器5、窗口进程关联器6通过操作系统用户层模块实现,内核信息探测器3、优先级随动器4、时间片随动开关7通过操作系统内核层模块实现,用户层模块和内核层模块之间通过netlink链路和socket接口进行通信。本实施例中,通信链路可以采用过netlink链路和socket接口实现,通信链路可以实现主引擎2和内核信息探测器3、优先级随动器4、时间片随动开关7之间建立不依赖操作系统类型的标准通信链路,有利于提高通信的效率,从而进一步提高面向用户感受进程的调度效率。
主引擎2包括定时器21、进程获取模块22和决策通信模块23,进程获取模块22分别与定时器21、预设程序配置器5、窗口进程关联器6相连,决策通信模块23通过通信链路分别与内核信息探测器3、优先级随动器4、时间片随动开关7相连,进程获取模块22由定时器21触发后根据预设程序配置器5和窗口进程关联器6输出的信息获取面向用户感受进程,决策通信模块23执行CPU资源占用率的判定,并根据判定结果控制优先级随动器4的工作和时间片随动开关7的开启状态。决策通信模块23和内核信息探测器3、优先级随动器4、时间片随动开关7之间通过netlink链路和socket接口进行通信,可以实现主引擎2和内核信息探测器3、优先级随动器4、时间片随动开关7之间建立不依赖操作系统类型的标准通信链路,有利于提高通信的效率,从而进一步提高面向用户感受进程的调度效率。
内核信息探测器3是主引擎2进行决策的信息源,它负责读取内核数据结构,获取对判断系统繁忙状态和对交互性影响程度有用的信息,本实施例中用于读取CPU资源占用率和操作系统的进程队列。此外还可以根据需要采集用户进程消耗的CPU的百分比、系统进程消耗的CPU的百分比等等,这些信息只在收到用户层的主引擎2的请求时才进行获取并发送给主引擎2。
本实施例中,进程获取模块22获取面向用户感受进程时,首先获取进程队列中属于预设程序配置器5中预设程序列表的进程,然后通过窗口进程关联器6获取当前处于用户界面顶层窗口的程序对应的进程和拥有输入焦点窗口的程序所对应的进程,上述获得的进程即为面向用户感受进程。
如图3所示,进程获取模块22首先读取预设程序配置器5获取预设程序列表,搜索proc文件系统获取正在运行的预设程序的PID,获取当前处于用户界面顶层窗口的程序对应的进程和拥有输入焦点窗口的程序的PID,最后将上述获得的PID相关的进程作为面向用户感受进程输出至决策通信模块23。预设程序配置器5和窗口进程关联器6是进程获取模块22获取面向用户感受进程的信息源,它们运行在用户层。预设程序配置器5基于配置文件实现,用于设定用于与用户进行音视频交互的预设程序列表,这些程序可工作在非顶层窗口或是操作系统后台、仍然影响用户感受。通常情况下,在UNIX类的操作系统中,很难从窗口直接得到对应其创建者进程的PID,这是因为UNIX操作系统的窗口子系统都使用client/server的运行架构,窗口的创建者(进程)通过调用执行者(X服务)的服务进行窗口显示,它们是松耦合的,利用socket进行通信,因此创建者进程和窗口之间没有直接关联。为解决这个问题,本发明的窗口进程关联器6基于图形服务API实现,在进程调用建立窗口的请求时,同时将自己的PID作为一个窗口属性附加在所建立的窗口及其所有子窗口中,只要查询到当前屏幕顶层窗口ID,就能通过属性查询的API得到其创建者的PID。
优先级随动器4和时间片随动开关7都是主引擎2的执行机构。优先级随动器4在接收到主引擎2控制命令后,获取控制命令中的指令和面向用户感受进程信息的PID。主引擎2发送给优先级随动器4的指令有两种:调整和恢复。本实施例中,当CPU资源占用率大于第一阈值时,主引擎2判定系统繁忙,否则判定系统空闲。主引擎2判定系统繁忙时,则可能会导致进程卡顿现象,主引擎2向优先级随动器4发送“调整”指令,优先级随动器4在接到“调整”指令后首先保存这些受影响进程的原始优先级,以便在接到“恢复”指令时复原,“调整”指令会附加需要调整哪些进程的优先级,其中包括需要优先级提升的感兴趣进程和需要降低优先级的繁忙进程。当主引擎2判定系统空闲时,则不会发生进程卡顿现象,主引擎2向优先级随动器4发送“恢复”指令,恢复受影响进程的原始优先级。时间片随动开关7在接到主引擎的指令后,负责打开或关闭附加到任务调度器1的时间片重分配功能,打开这一功能后,增加时间片的面向用户感受进程将能得到比正常状态下1~3倍的CPU时间,本实施例中为增加2倍时间片。
如图4所示,根据指令的不同,任务调度器1存在三种状态:原始调度状态、优先级修正状态、优先级+时间片调整状态。当系统CPU资源占用率小于第一阈值时,系统负载较小,任务调度器1处于原始调度状态;当进CPU资源占用率大于第一阈值时,主引擎2判定系统负载较重,对用户感受有一般性影响时,任务调度器1转入优先级修正状态,其中进程的优先级会由优先级随动器4做出有利于面向用户感受进程的调整,具体调整措施包括提高面向用户感受进程的优先级和降低其他进程的优先级,此时若CPU资源占用率不大于第一阈值时,则主引擎2判定系统负载减轻、影响消除,则任务调度器1恢复到原始调度状态;如果CPU资源占用率大于比第一阈值更大的第二阈值时,则主引擎2判定系统负载过重,对用户感受影响很大,任务调度器1会直接从原始调度状态切换到优先级+时间片调整状态,或者从优先级修正状态切换到优先级+时间片调整状态,而这种状态只能在主引擎判断影响消除后直接返回原始调度状态,不能再返回优先级修正状态。
如图5所示,Kylin Linux操作系统中任务调度器针对每个处理器有两个运行队列:active 队列和expired 队列,active 队列为有剩余时间片的任务队列,expired 队列为已用完时间片的任务队列。调度器只会将active队列中的进程调入CPU,当一个进程的时间片耗完,调度器重新计算其时间片,并插入到 expired 队列,当 active 队列中所有进程耗完时间片,交换指向 active 和 expired 队列的指针,称为队列轮转。任务调度器1的基本工作流程如下:
1) 保存当前 CPU 当前active队列,对active队列加锁;
2) 检查当前进程的时间片是否为零。若是则重新分配时间片,并将其挂到expired队尾;
3) 若整个active队列中的进程的时间片耗尽,进行队列轮转;
4) 搜索active队列,计算出每一个进程的调度权值并与当前进程的调度权值相比较,权值最高的进程将获取CPU;
5) 解锁active队列。
如图6所示,在增加面向用户感受进程的时间片前,在建立进程时建立与该进程关联并预置零值的计数器,当每一个进程的时间片耗尽后,判断该进程是否为面向用户感受进程以及与该进程关联的计数器是否为零,如果上述条件同时满足则执行增加该进程的时间片并改变计数器值。增加的时间片为该进程的当前时间片的两倍。本实施例中,建立进程时建立与该进程关联并预置零值的计数器count,当前进程的时间片耗尽后,判断是否为感兴趣进程并且对应的count是否为0,若两者都成立,则重新分配时间片后将进程直接放到active队尾并将count加1,若为感兴趣进程但对应的count非0,则重新分配时间片后将进程放到expired队尾并将count归0。
如图7所示,本发明实施例在操作系统中的工作过程如下:操作系统启动后,位于内核层的任务调度器1、内核信息探测器3、优先级随动器4和时间片随动开关7首先运行,其中任务调度器1处于原始调度状态,内核信息探测器3监听主引擎2发送的请求,优先级随动器4和时间片随动开关7都处于“恢复”状态并等待指令,内核启动完毕后,主引擎2作为系统服务启动,和内核各模块握手建立通信,之后进入监控和决策循环,直到操作系统停机,在主引擎2的循环运行过程中,用户可以通过干预的方式提示其配置文件已经更新,需要重新读取,或是改变监控的频率和策略。
以上仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,应视为本发明的保护范围。
Claims (10)
1.一种操作系统中防止用户界面卡屏的进程调度方法,其特征在于其实施步骤如下:
1)设定第一阈值;
2)判断CPU资源占用率;定时获取操作系统当前的进程队列和CPU资源占用率,若CPU资源占用率大于所述第一阈值时,执行步骤3);
3)获取面向用户感受进程;将当前处于用户界面顶层窗口的程序对应的进程和拥有输入焦点窗口的程序所对应的进程作为面向用户感受进程;
4)调节面向用户感受进程;提高所述面向用户感受进程在操作系统中的相对优先级。
2.根据权利要求1所述的操作系统中防止用户界面卡屏的进程调度方法,其特征在于:所述步骤1)中还包括设定用于与用户进行音视频交互的预设程序列表,所述步骤3)中获取面向用户感受进程时,一并将当前运行并属于所述预设程序列表的程序所对应的进程作为面向用户感受进程。
3.根据权利要求1所述的操作系统中防止用户界面卡屏的进程调度方法,其特征在于:所述步骤1)中还包括设定第二阈值,所述第二阈值比第一阈值大,所述步骤2)判断CPU资源占用率时,若CPU资源占用率大于所述第二阈值,则在所述步骤4)中增加所述面向用户感受进程的时间片。
4.根据权利要求3所述的操作系统中防止用户界面卡屏的进程调度方法,其特征在于:所述增加面向用户感受进程的时间片时,首先在建立进程时建立与该进程关联并预置零值的计数器,然后对操作系统中运行的进程进行判断,如果该进程为面向用户感受进程且与该进程关联的计数器为零,则执行增加该进程的时间片,并将所述计数器修改为非零值。
5.根据权利要求4所述的操作系统中防止用户界面卡屏的进程调度方法,其特征在于:所述增加的时间片为所述面向用户感受进程的当前时间片的1~3倍。
6.根据权利要求1~5中任意一项所述的操作系统中防止用户界面卡屏的进程调度方法,其特征在于:所述步骤4)中提高面向用户感受进程在操作系统进程队列中的相对优先级时,首先保存受影响进程的原始优先级,所述步骤2)中若CPU资源占用率小于第一阈值时,恢复受影响进程的原始优先级。
7.根据权利要求1~5中任意一项所述的操作系统中防止用户界面卡屏的进程调度方法,其特征在于:所述步骤3)获取面向用户感受进程时,首先在初始化程序窗口时建立程序窗口与程序进程的窗口进程关联数据表,然后在获取面向用户感受进程时,通过查询所述窗口进程关联数据表得到处于用户界面顶层窗口的程序对应的进程和拥有输入焦点窗口的程序所对应的进程。
8.一种操作系统中防止用户界面卡屏的进程调度装置,包括任务调度器(1),其特征在于:它还包括主引擎(2)和分别与主引擎(2)相连的内核信息探测器(3)、优先级随动器(4)、预设程序配置器(5)、窗口进程关联器(6),所述优先级随动器(4)与任务调度器(1)相连,所述主引擎(2)包括存储有第一阈值的阈值存储器(24),所述内核信息探测器(3)检测操作系统的进程队列和CPU资源占用率并输出至主引擎(2),所述预设程序配置器(5)存储用于与用户进行音视频交互的预设程序列表并输出至主引擎(2),所述窗口进程关联器(6)获取当前处于用户界面顶层窗口的程序对应的进程和拥有输入焦点窗口的程序所对应的进程并输出至主引擎(2),所述主引擎(2)在CPU资源占用率大于第一阈值时将操作系统的进程队列中与预设程序配置器(5)和窗口进程关联器(6)的输出信息相匹配的进程作为面向用户感受进程,并输出控制命令至优先级随动器(4),所述优先级随动器(4)根据控制命令调节面向用户感受进程在操作系统进程队列中的相对优先级。
9.根据权利要求8所述的操作系统中防止用户界面卡屏的进程调度装置,其特征在于:所述阈值存储器(24)还存储有第二阈值,所述第二阈值比第一阈值大,所述任务调度器(1)包括时间片重分配单元(11)和时间片随动开关(7),所述主引擎(2)通过时间片随动开关(7)与时间片重分配单元(11)相连,所述主引擎(2)在CPU资源占用率大于第二阈值时输出开启信号至时间片随动开关(7),所述时间片重分配单元(11)在时间片随动开关(7)开启时增加面向用户感受进程的时间片。
10.根据权利要求9所述的操作系统中防止用户界面卡屏的进程调度装置,其特征在于:所述主引擎(2)包括定时器(21)、进程获取模块(22)和决策通信模块(23),所述进程获取模块(22)分别与定时器(21)、预设程序配置器(5)、窗口进程关联器(6)相连,所述决策通信模块(23)通过通信链路分别与内核信息探测器(3)、优先级随动器(4)、时间片随动开关(7)相连,所述进程获取模块(22)由定时器(21)触发后根据预设程序配置器(5)和窗口进程关联器(6)输出的信息获取面向用户感受进程,所述决策通信模块(23)执行CPU资源占用率的判定,并根据判定结果控制优先级随动器(4)的工作和时间片随动开关(7)的开启状态。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110047623 CN102073545B (zh) | 2011-02-28 | 2011-02-28 | 操作系统中防止用户界面卡屏的进程调度方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110047623 CN102073545B (zh) | 2011-02-28 | 2011-02-28 | 操作系统中防止用户界面卡屏的进程调度方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102073545A true CN102073545A (zh) | 2011-05-25 |
CN102073545B CN102073545B (zh) | 2013-02-13 |
Family
ID=44032091
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201110047623 Active CN102073545B (zh) | 2011-02-28 | 2011-02-28 | 操作系统中防止用户界面卡屏的进程调度方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102073545B (zh) |
Cited By (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102244824A (zh) * | 2011-06-30 | 2011-11-16 | 南京熊猫信息产业有限公司 | 提高有线数字机顶盒菜单与视频播放画面运行质量的方法 |
CN103294542A (zh) * | 2013-06-07 | 2013-09-11 | 深圳Tcl新技术有限公司 | 进程保护的方法及其装置 |
CN103747339A (zh) * | 2013-12-23 | 2014-04-23 | 乐视致新电子科技(天津)有限公司 | 一种解决安卓设备播放在线视频出现无响应的方法和设备 |
CN103905783A (zh) * | 2012-12-25 | 2014-07-02 | 杭州海康威视数字技术股份有限公司 | 对视频流进行解码显示的方法及设备 |
WO2014127695A1 (zh) * | 2013-02-21 | 2014-08-28 | 北京奇虎科技有限公司 | 一种系统运行加速方法和装置 |
WO2014173194A1 (zh) * | 2013-04-23 | 2014-10-30 | 北京奇虎科技有限公司 | 对浏览器运行进行优化的方法和装置 |
CN105302637A (zh) * | 2015-10-13 | 2016-02-03 | 广东欧珀移动通信有限公司 | 系统进程运行异常引起卡顿的恢复方法、装置及移动终端 |
CN105337791A (zh) * | 2014-08-14 | 2016-02-17 | 腾讯科技(深圳)有限公司 | 数据监控方法及装置 |
CN105511965A (zh) * | 2015-12-01 | 2016-04-20 | 上海斐讯数据通信技术有限公司 | 一种当前界面应用程序的优化方法和系统 |
CN105786571A (zh) * | 2016-02-29 | 2016-07-20 | 珠海市魅族科技有限公司 | 一种移动终端的控制方法及移动终端 |
CN106161543A (zh) * | 2015-04-13 | 2016-11-23 | 腾讯科技(深圳)有限公司 | Cgi负载监控方法和装置 |
CN106293903A (zh) * | 2015-06-03 | 2017-01-04 | 莉莉丝科技(上海)有限公司 | 一种用于提供用户交互结果的方法、设备与系统 |
CN103810042B (zh) * | 2012-11-07 | 2017-04-26 | 中兴通讯股份有限公司 | 一种调整浏览器参数的方法及系统 |
CN106681827A (zh) * | 2016-05-11 | 2017-05-17 | 腾讯科技(深圳)有限公司 | 一种检测软件运行卡慢的方法及装置、电子设备 |
CN108241527A (zh) * | 2016-12-26 | 2018-07-03 | 成都理想境界科技有限公司 | 一种任务调度方法及电子设备 |
CN109032813A (zh) * | 2018-06-29 | 2018-12-18 | Oppo(重庆)智能科技有限公司 | 一种移动终端及其进程间通信的限制方法、存储介质 |
CN109144745A (zh) * | 2018-06-29 | 2019-01-04 | Oppo(重庆)智能科技有限公司 | 进程间通信的监控方法、电子装置以及可读存储介质 |
CN109324878A (zh) * | 2018-09-20 | 2019-02-12 | 郑州云海信息技术有限公司 | 一种进程cpu占用率的控制方法及相关设备 |
CN109379626A (zh) * | 2018-11-27 | 2019-02-22 | Oppo广东移动通信有限公司 | 视频处理方法、装置、电子设备及存储介质 |
CN109388491A (zh) * | 2018-08-23 | 2019-02-26 | 深圳点猫科技有限公司 | 一种提高教育操作系统的画面流畅度的方法及系统 |
CN111046378A (zh) * | 2019-12-12 | 2020-04-21 | Oppo(重庆)智能科技有限公司 | 禁止第三方应用程序设置进程优先级的方法及相关装置 |
CN111061410A (zh) * | 2018-10-16 | 2020-04-24 | 华为技术有限公司 | 一种冻屏处理方法及终端 |
CN111813536A (zh) * | 2019-04-11 | 2020-10-23 | 华为技术有限公司 | 任务处理方法、装置、终端以及计算机可读存储介质 |
CN114443256A (zh) * | 2022-04-07 | 2022-05-06 | 荣耀终端有限公司 | 资源调度方法及电子设备 |
CN116069209A (zh) * | 2022-05-16 | 2023-05-05 | 荣耀终端有限公司 | 焦点窗口处理方法、装置、设备和存储介质 |
WO2023221752A1 (zh) * | 2022-05-16 | 2023-11-23 | 荣耀终端有限公司 | 信息处理方法和电子设备 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107704316A (zh) * | 2017-08-04 | 2018-02-16 | 广东欧珀移动通信有限公司 | 应用程序处理方法、装置、移动终端及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1805427A (zh) * | 2004-12-22 | 2006-07-19 | 英特尔公司 | 用于处理多媒体流的方法 |
CN101184300A (zh) * | 2007-12-06 | 2008-05-21 | 中兴通讯股份有限公司 | 一种手机图形系统中的窗口管理方法 |
CN101815143A (zh) * | 2010-01-06 | 2010-08-25 | 北京讯鸟软件有限公司 | Ip软电话语音及视频流媒体实时保证方法 |
-
2011
- 2011-02-28 CN CN 201110047623 patent/CN102073545B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1805427A (zh) * | 2004-12-22 | 2006-07-19 | 英特尔公司 | 用于处理多媒体流的方法 |
CN101184300A (zh) * | 2007-12-06 | 2008-05-21 | 中兴通讯股份有限公司 | 一种手机图形系统中的窗口管理方法 |
CN101815143A (zh) * | 2010-01-06 | 2010-08-25 | 北京讯鸟软件有限公司 | Ip软电话语音及视频流媒体实时保证方法 |
Cited By (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102244824A (zh) * | 2011-06-30 | 2011-11-16 | 南京熊猫信息产业有限公司 | 提高有线数字机顶盒菜单与视频播放画面运行质量的方法 |
CN103810042B (zh) * | 2012-11-07 | 2017-04-26 | 中兴通讯股份有限公司 | 一种调整浏览器参数的方法及系统 |
CN103905783B (zh) * | 2012-12-25 | 2017-09-01 | 杭州海康威视数字技术股份有限公司 | 对视频流进行解码显示的方法及设备 |
CN103905783A (zh) * | 2012-12-25 | 2014-07-02 | 杭州海康威视数字技术股份有限公司 | 对视频流进行解码显示的方法及设备 |
WO2014127695A1 (zh) * | 2013-02-21 | 2014-08-28 | 北京奇虎科技有限公司 | 一种系统运行加速方法和装置 |
WO2014173194A1 (zh) * | 2013-04-23 | 2014-10-30 | 北京奇虎科技有限公司 | 对浏览器运行进行优化的方法和装置 |
US10067790B2 (en) | 2013-04-23 | 2018-09-04 | Beijing Qihoo Technology Company Limited | Method and apparatus for displaying information to a user and the user optimizing running of the processes |
CN103294542A (zh) * | 2013-06-07 | 2013-09-11 | 深圳Tcl新技术有限公司 | 进程保护的方法及其装置 |
CN103294542B (zh) * | 2013-06-07 | 2017-06-16 | 深圳Tcl新技术有限公司 | 进程保护的方法及其装置 |
CN103747339A (zh) * | 2013-12-23 | 2014-04-23 | 乐视致新电子科技(天津)有限公司 | 一种解决安卓设备播放在线视频出现无响应的方法和设备 |
CN105337791A (zh) * | 2014-08-14 | 2016-02-17 | 腾讯科技(深圳)有限公司 | 数据监控方法及装置 |
CN106161543A (zh) * | 2015-04-13 | 2016-11-23 | 腾讯科技(深圳)有限公司 | Cgi负载监控方法和装置 |
CN106293903A (zh) * | 2015-06-03 | 2017-01-04 | 莉莉丝科技(上海)有限公司 | 一种用于提供用户交互结果的方法、设备与系统 |
CN106293903B (zh) * | 2015-06-03 | 2021-12-14 | 上海莉莉丝科技股份有限公司 | 一种用于提供用户交互结果的方法、设备与系统 |
CN105302637B (zh) * | 2015-10-13 | 2019-04-23 | Oppo广东移动通信有限公司 | 系统进程运行异常引起卡顿的恢复方法、装置及移动终端 |
CN105302637A (zh) * | 2015-10-13 | 2016-02-03 | 广东欧珀移动通信有限公司 | 系统进程运行异常引起卡顿的恢复方法、装置及移动终端 |
CN105511965A (zh) * | 2015-12-01 | 2016-04-20 | 上海斐讯数据通信技术有限公司 | 一种当前界面应用程序的优化方法和系统 |
CN105786571A (zh) * | 2016-02-29 | 2016-07-20 | 珠海市魅族科技有限公司 | 一种移动终端的控制方法及移动终端 |
CN106681827A (zh) * | 2016-05-11 | 2017-05-17 | 腾讯科技(深圳)有限公司 | 一种检测软件运行卡慢的方法及装置、电子设备 |
CN106681827B (zh) * | 2016-05-11 | 2021-04-06 | 腾讯科技(深圳)有限公司 | 一种检测软件运行卡慢的方法及装置、电子设备 |
CN108241527A (zh) * | 2016-12-26 | 2018-07-03 | 成都理想境界科技有限公司 | 一种任务调度方法及电子设备 |
CN108241527B (zh) * | 2016-12-26 | 2021-10-08 | 成都理想境界科技有限公司 | 一种任务调度方法及电子设备 |
CN109032813A (zh) * | 2018-06-29 | 2018-12-18 | Oppo(重庆)智能科技有限公司 | 一种移动终端及其进程间通信的限制方法、存储介质 |
CN109144745A (zh) * | 2018-06-29 | 2019-01-04 | Oppo(重庆)智能科技有限公司 | 进程间通信的监控方法、电子装置以及可读存储介质 |
CN109144745B (zh) * | 2018-06-29 | 2021-04-27 | Oppo(重庆)智能科技有限公司 | 进程间通信的监控方法、电子装置以及可读存储介质 |
CN109032813B (zh) * | 2018-06-29 | 2021-01-26 | Oppo(重庆)智能科技有限公司 | 一种移动终端及其进程间通信的限制方法、存储介质 |
CN109388491A (zh) * | 2018-08-23 | 2019-02-26 | 深圳点猫科技有限公司 | 一种提高教育操作系统的画面流畅度的方法及系统 |
CN109324878A (zh) * | 2018-09-20 | 2019-02-12 | 郑州云海信息技术有限公司 | 一种进程cpu占用率的控制方法及相关设备 |
US11467894B2 (en) | 2018-10-16 | 2022-10-11 | Huawei Technologies Co., Ltd. | Screen freezing processing method and terminal |
CN111061410A (zh) * | 2018-10-16 | 2020-04-24 | 华为技术有限公司 | 一种冻屏处理方法及终端 |
CN109379626A (zh) * | 2018-11-27 | 2019-02-22 | Oppo广东移动通信有限公司 | 视频处理方法、装置、电子设备及存储介质 |
CN111813536A (zh) * | 2019-04-11 | 2020-10-23 | 华为技术有限公司 | 任务处理方法、装置、终端以及计算机可读存储介质 |
CN111813536B (zh) * | 2019-04-11 | 2024-06-11 | 华为技术有限公司 | 任务处理方法、装置、终端以及计算机可读存储介质 |
CN111046378A (zh) * | 2019-12-12 | 2020-04-21 | Oppo(重庆)智能科技有限公司 | 禁止第三方应用程序设置进程优先级的方法及相关装置 |
CN114443256A (zh) * | 2022-04-07 | 2022-05-06 | 荣耀终端有限公司 | 资源调度方法及电子设备 |
WO2023193497A1 (zh) * | 2022-04-07 | 2023-10-12 | 荣耀终端有限公司 | 资源调度方法及电子设备 |
CN114443256B (zh) * | 2022-04-07 | 2022-08-30 | 荣耀终端有限公司 | 资源调度方法及电子设备 |
CN116069209A (zh) * | 2022-05-16 | 2023-05-05 | 荣耀终端有限公司 | 焦点窗口处理方法、装置、设备和存储介质 |
WO2023221752A1 (zh) * | 2022-05-16 | 2023-11-23 | 荣耀终端有限公司 | 信息处理方法和电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN102073545B (zh) | 2013-02-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102073545B (zh) | 操作系统中防止用户界面卡屏的进程调度方法及装置 | |
US10191772B2 (en) | Dynamic resource configuration based on context | |
CN101488098B (zh) | 基于虚拟计算技术的多核计算资源管理系统 | |
US9092251B2 (en) | Method of managing virtual machines using a virtual machine monitor | |
CN102314391B (zh) | 一种基于硬件基础工具监视虚拟化系统性能的架构及方法 | |
CN102890643B (zh) | 基于应用效果即时反馈的显卡虚拟化下的资源调度系统 | |
CN101706742B (zh) | 一种基于多核动态划分的非对称虚拟机i/o调度方法 | |
US7945908B1 (en) | Method and system for improving the accuracy of timing and process accounting within virtual machines | |
CN100549964C (zh) | 信息处理设备、中断处理控制方法 | |
CN110489228A (zh) | 一种资源调度的方法和电子设备 | |
US8943252B2 (en) | Latency sensitive software interrupt and thread scheduling | |
CN102521055B (zh) | 一种虚拟机资源分配方法及其系统 | |
AU2014309371A1 (en) | Virtual hadoop manager | |
CN102073535B (zh) | 基于硬件计数器虚拟化的多虚拟机性能分析方法 | |
CN103870341A (zh) | 一种调整虚拟机资源的方法和系统 | |
CN104598426A (zh) | 用于异构多核处理器系统的任务调度方法 | |
CN103365700A (zh) | 一种面向云计算虚拟化环境的资源监测和调整系统 | |
KR20120095758A (ko) | 가상 머신 스케줄 시점 조절 장치 및 방법 | |
Bai et al. | Task-aware based co-scheduling for virtual machine system | |
CN102654841A (zh) | 细粒度分配虚拟机计算资源的方法和设备 | |
CN107203413A (zh) | 一种资源数据调度系统及方法 | |
Fu | Failure-aware construction and reconfiguration of distributed virtual machines for high availability computing | |
Kim et al. | Virtual asymmetric multiprocessor for interactive performance of consolidated desktops | |
CN110489294A (zh) | 一种基于日志实时单步调试方法和装置 | |
CN103955422B (zh) | 一种虚拟化环境中共存应用i/o性能干扰的分析方法及其系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |