[发明专利]一种进程调度方法及装置有效
申请号: | 201510991456.3 | 申请日: | 2015-12-24 |
公开(公告)号: | CN105550029B | 公开(公告)日: | 2019-07-23 |
发明(设计)人: | 姚勇军;林茂 | 申请(专利权)人: | 迈普通信技术股份有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48 |
代理公司: | 北京中博世达专利商标代理有限公司 11274 | 代理人: | 申健 |
地址: | 610041 四川省*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 进程 调度 方法 装置 | ||
1.一种进程调度方法,应用于包含一个或多个CPU核心的Linux设备,其特征在于,包括:
当CPU核心处于用户态,设置所述CPU核心对应的调度控制标识;
当CPU核心处于内核态,获取所述CPU核心对应的调度控制标识,其中所述CPU核心用于进程或线程调度;
当所述调度控制标识允许调度时,在所述CPU核心进行进程或线程调度;
其中,所述CPU核心对应的调度控制标识储存在Linux设备上的共享内存中。
2.根据权利要求1所述的进程调度方法,其特征在于,所述设置所述CPU核心对应的调度控制标识,包括:
在共享内存设置所述CPU核心对应的调度控制标识,所述共享内存位于所述Linux设备;
所述获取所述CPU核心对应的调度控制标识,包括:
在所述共享内存读取所述CPU核心对应的调度控制标识。
3.根据权利要求1所述的进程调度方法,其特征在于,所述获取所述CPU核心对应的调度控制标识,具体包括:
获取所述CPU核心的标识;
根据所述CPU核心的标识获取所述CPU核心的调度控制标识。
4.根据权利要求1所述的进程调度方法,其特征在于,所述进程调度方法还包括:
当所述调度控制标识不允许调度时,不在所述CPU核心进行进程或线程调度。
5.根据权利要求3所述的进程调度方法,其特征在于,所述当所述调度控制标识为允许调度时,在所述CPU核心进行进程或线程调度,具体包括:
当所述调度控制标识为零时,在所述CPU核心进行进程或线程调度;
所述当所述调度控制标识不允许调度时,不在所述CPU核心进行进程或线程调度,具体包括:
当所述调度控制标识为非零时,不在所述CPU核心进行进程或线程调度。
6.根据权利要求1-5任一项所述的进程调度方法,其特征在于,所述获取CPU核心对应的调度控制标识前,还包括:
关闭内核抢占;
所述进程调度方法还包括:
清除进程或线程对应的重调度标识,开启内核抢占,所述重调度标识用于标识进程或线程是否需要调度。
7.根据权利要求1-5任一项所述的进程调度方法,其特征在于,还包括:
当所述CPU核心禁止进程或线程调度时,将所述CPU核心的调度控制标识加1;
当所述CPU核心允许进程或线程调度时,将所述CPU核心的调度控制标识减1。
8.一种进程调度装置,位于包含一个或多个CPU核心的Linux设备,其特征在于,包括:
设置单元,用于当CPU核心处于用户态,设置所述CPU核心对应的调度控制标识;
获取单元,用于当CPU核心处于内核态,获取所述CPU核心对应的调度控制标识,其中所述CPU核心用于进程或线程调度;
调度单元,用于当所述调度控制标识允许调度时,在所述CPU核心进行进程或线程调度;
其中,所述CPU核心对应的调度控制标识储存在Linux设备上的共享内存中。
9.根据权利要求8所述的进程调度装置,其特征在于,所述设置单元具体用于:
当CPU核心处于用户态,在共享内存设置所述CPU核心对应的调度控制标识,所述共享内存位于所述Linux设备;
所述获取单元具体用于:
当CPU核心处于内核态,在所述共享内存读取所述CPU核心对应的调度控制标识。
10.根据权利要求8所述的进程调度装置,其特征在于,所述获取单元具体用于:
获取所述CPU核心的标识;
根据所述CPU核心的标识获取所述CPU核心的调度控制标识。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于迈普通信技术股份有限公司,未经迈普通信技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510991456.3/1.html,转载请声明来源钻瓜专利网。