[发明专利]任务调度方法和装置在审
申请号: | 201611051011.8 | 申请日: | 2016-11-24 |
公开(公告)号: | CN106648856A | 公开(公告)日: | 2017-05-10 |
发明(设计)人: | 李炜;胡瑞桓 | 申请(专利权)人: | 深圳市万普拉斯科技有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48 |
代理公司: | 北京超凡志成知识产权代理事务所(普通合伙)11371 | 代理人: | 邓超 |
地址: | 518000 广东省深*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 任务 调度 方法 装置 | ||
技术领域
本发明涉及操作系统技术领域,具体而言,涉及一种任务调度方法和装置。
背景技术
任务调度是操作系统的重要组成部分,操作系统将CPU的时间划分为多个时间片,按照预先设置的调度策略,将这些时间片分配给各个任务。例如Linux系统中的CFS(Completely Fair Scheduler)调度策略,这种调度策略试图按照对CPU时间的“最大需求(gravest need)”运行任务,以保证各个任务可以获得比较公平的CPU占用。
然而,在实际调度过程中,由于操作系统所执行的后台任务比较多,每个后台任务会占用CPU一部分时间片,导致前台任务得到的时间片较少,造成前台任务执行不及时,使用户感觉操作系统的响应慢(即卡顿),影响用户的体验。
发明内容
有鉴于此,本发明的目的在于提供一种任务调度方法和装置,以提升前台任务的响应速度和改善用户的体验度。
为解决上述技术问题,本发明采用的第一技术方案是:一种任务调度方法,包括:
进行任务调度时,检查待调度的任务中是否存在前台任务;
如果存在前台任务,按照前台任务占优的方式对所述待调度的任务进行调度。
进一步,所述方法还包括:当新生成的任务为响应用户操作的任务或对显示界面进行操作的任务时,设置新生成的任务的任务状态为前台标识和/或将新生成的任务添加至前台调度队列中;相应地,所述检查待调度的任务中是否存在前台任务包括:判断待调度的任务中是否存在任务状态为前台标识的任务,如果存在,确定所述待调度的任务中存在前台任务;或者,判断所述前台调度队列是否为空,如果否,确定待调度的任务中存在前台任务。
进一步,所述按照前台任务占优的方式对所述待调度的任务进行调度包括:以时间上优先调度所述前台任务的方式对所述待调度的任务进行调度,或者,以前台任务的CPU时间片分配比例大于后台任务的CPU时间片分配比例的方式,对所述待调度的任务进行调度。
进一步,所述以前台任务的CPU时间片分配比例大于后台任务的CPU时间片分配比例的方式,对所述待调度的任务进行调度包括:按照固定比例或者动态弹性比例,设置所述前台任务的CPU时间片分配比例大于后台任务的CPU时间片分配比例;以设置后的所述CPU时间片分配比例,为所述前台任务和所述后台任务分配CPU时间片。
进一步,所述方法还包括:在任务执行过程中,如果当前任务由前台任务切换为后台任务,将所述当前任务修改为后台任务;如果所述当前任务由后台任务切换为前台任务,将所述当前任务修改为前台任务。
进一步,所述方法还包括:在前台任务的各任务之间或者后台任务的各任务之间进行调度时,按照操作系统预先配置的调度策略进行任务调度。
本发明采用的第二技术方案是:一种任务调度装置,该装置包括:
检查模块,用于进行任务调度时检查待调度的任务中是否存在前台任务;
任务调度模块,用于当所述检查模块的检查结果中存在前台任务时,按照前台任务占优的方式对所述待调度的任务进行调度。
进一步,所述装置还包括:前台任务处理模块,用于当新生成的任务为响应用户操作的任务或对显示界面进行操作的任务时,设置新生成的任务的任务状态为前台标识和/或将新生成的任务添加至前台调度队列中;所述检查模块还用于判断待调度的任务中是否存在任务状态为前台标识的任务,如果存在,确定所述待调度的任务中存在前台任务;或者,所述检查模块还用于判断所述前台调度队列是否为空,如果否,确定待调度的任务中存在前台任务。
进一步,所述任务调度模块还用于以时间上优先调度所述前台任务的方式对所述待调度的任务进行调度,或者,所述任务调度模块还用于以前台任务的CPU时间片分配比例大于后台任务的CPU时间片分配比例的方式,对所述待调度的任务进行调度。
进一步,所述任务调度模块包括:分配比例设置单元,用于按照固定比例或者动态弹性比例,设置所述前台任务的CPU时间片分配比例大于后台任务的CPU时间片分配比例;分配单元,用于以设置后的所述CPU时间片分配比例,为所述前台任务和所述后台任务分配CPU时间片。
进一步,任务切换模块,用于在任务执行过程中,如果当前任务由前台任务切换为后台任务,将所述当前任务修改为后台任务;如果所述当前任务由后台任务切换为前台任务,将所述当前任务修改为前台任务。
进一步,所述任务调度模块还用于在前台任务的各任务之间或者后台任务的各任务之间进行调度时,按照所述装置对应的操作系统预先配置的调度策略进行任务调度。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市万普拉斯科技有限公司,未经深圳市万普拉斯科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611051011.8/2.html,转载请声明来源钻瓜专利网。