[发明专利]一种任务调度方法及装置有效
| 申请号: | 201710491027.9 | 申请日: | 2017-06-23 |
| 公开(公告)号: | CN107315631B | 公开(公告)日: | 2020-08-14 |
| 发明(设计)人: | 陈程 | 申请(专利权)人: | 迈普通信技术股份有限公司 |
| 主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/50 |
| 代理公司: | 北京中博世达专利商标代理有限公司 11274 | 代理人: | 申健 |
| 地址: | 610041 四川省*** | 国省代码: | 四川;51 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 任务 调度 方法 装置 | ||
本申请公开一种任务调度方法及装置,用于解决原生Linux操作系统无法保证处于用户态的任务正常运行的问题。所述方法包括:对处于用户态的目标任务设置调度标识,该调度标识可以为禁止调度标识或允许调度标识;当操作系统需要对目标任务进行任务调度时,先获取目标任务的任务标识,若目标任务的调度标识为禁止调度标识,则操作系统继续运行目标任务;若目标任务的调度标识为允许调度标识,则操作系统对目标任务进行任务切换,即操作系统暂时停止运行目标任务,转而运行其他任务。本申请适用于任务调度的过程中。
技术领域
本申请涉及计算机技术领域,尤其涉及一种任务调度方法及装置
背景技术
在Linux操作系统中,任务(task)存在两种不同的运行状态:用户态和内核态。其中,当任务在计算机中执行用户自己的代码时,该任务处于用户态。当任务在计算机中执行内核的代码时,该任务处于内核态。任务调度是内核的核心功能之一,Linux操作系统进行任务调度时,必须运行相应的内核代码,而内核代码不受处于用户态的任务的影响,因此处于用户态的任务不能拒绝Linux操作系统的任务调度。这种情况下,Linux操作系统可能会停止运行处于用户态的任务,转而运行其他任务。这样就会影响处于用户态的任务的正常运行。
发明内容
本申请实施例一种任务调度方法及装置,能够保证处于用户态的任务的正常运行。
为达到上述目的,本申请实施例采用如下技术方案:
第一方面,本申请实施例提供一种任务调度方法,所述方法包括:
对处于用户态的目标任务设置调度标识,所述调度标识为禁止调度标识或允许调度标识;
当需要对所述目标任务进行任务调度时,获取所述目标任务的调度标识;
若所述目标任务的调度标识为禁止调度标识,继续运行所述目标任务;
若所述目标任务的调度标识为允许调度标识,停止运行所述目标任务。
第二方面,本申请实施例提供一种任务调度装置,所述装置包括:
设置单元,用于对处于用户态的目标任务设置调度标识,所述调度标识为禁止调度标识或允许调度标识;
获取单元,用于当需要对所述目标任务进行任务调度时,获取所述目标任务;
调度单元,用于当所述获取单元获取到的目标任务的调度标识为禁止调度标识时,继续运行所述目标任务;当所述目标任务的调度标识为允许调度标识,停止运行所述目标任务。
本申请实施例提供一种任务调度方法及装置,通过给处于用户态的目标任务设置禁止调度标识,从而在对目标任务进行任务调度时,操作系统根据目标任务的禁止调度标识,继续运行目标任务,保证处于用户态的目标任务的正常运行。另外,也可以给处于用户态的目标任务设置允许调度标识,从而在对目标任务进行任务调度时,操作系统根据目标任务的允许调度标识,对目标任务进行任务切换,即操作系统暂时停止运行目标任务,转而运行其他任务。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本申请实施例提供的一种任务调度方法的流程图;
图2为本申请实施例提供的一种共享存储区域的示例性示意图;
图3为本申请实施例提供的一种以位图的方式存储任务的调度标识的示例性示意图;
图4为本申请实施例提供的将处于用户态的目标任务的调度标识设置为禁止调度标识的方法流程图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于迈普通信技术股份有限公司,未经迈普通信技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710491027.9/2.html,转载请声明来源钻瓜专利网。





