[发明专利]一种进程实时调度方法有效
申请号: | 201010215050.3 | 申请日: | 2010-06-30 |
公开(公告)号: | CN101887383A | 公开(公告)日: | 2010-11-17 |
发明(设计)人: | 罗笑南;唐青华;傅明 | 申请(专利权)人: | 中山大学 |
主分类号: | G06F9/50 | 分类号: | G06F9/50 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 510006 广东省广州市番禺*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 进程 实时 调度 方法 | ||
1.一种进程实时调度方法,其特征在于,包括:
步骤A、预先设置进程任务的价值值,任务的价值值应根据任务本身的价值在进程的优先级值与当前所有进程最大优先级值之间取一个值;
步骤B、当进程任务的优先级相近或相等时,比较进程任务的价值值,优先运行价值大的任务;或者,当系统过载时也比较当前所有任务的价值值,运行价值值最大的进程任务,保证系统整体价值最大化和被维持在一个可接受的水平之上。
2.如权利要求1所述的方法,其特征在于,所述预先设置进程任务的价值值具体为:
在进程控制块task_struct中增加优先级相关属性:任务剩余执行时间Ct,任务提交时间Et,任务相对截至期限Dt,优先级值St,系统当前时间T,由优先级值定义公式得:St=(Et+Dt)-Ct-T;
保持Linux2.6内核的运行队列结构、候选任务的选取方式及实时任务优先级属性不变,按优先级从小到大依次排列同一优先级任务;
在时钟中断子程序中增加对裕度值的实时更新处理,即随着时钟周期增加任务剩余执行时间Ct,减小等待进程的优先级值St,也在时钟中断子程序中修改把价值值作为抢占阀值的候选任务的选取操作;
改进所要实现的实时调度算法,修改内核代码并重新编译,完成改进算法在系统中的实现。
3.如权利要求2所述的方法,其特征在于,所述步骤B包括:
B11、获取各个进程任务的优先级时间,当优先级相同时截止期靠前的任务优先级越高;
B12:判断当前系统是否存在一个以上优先级相近或相同的任务,若不存在,表明系统任务不会发生颠簸现象,则进行步骤B18;
B13、判断该优先级是否为当前系统最小优先级,若不是,则表明该任务不是最紧急任务,则进行步骤B18;
B14、判断该优先级是否大于0,当优先级小于0时淘汰该任务,裕度大于等于0参与调度。
B15、获取这些优先级值相近或相同且其值大于等于0的任务的价值值;
B16、比较这些优先级相近或相同且其值大于等于0的任务的价值值;
B17、依据任务价值值的大小,依次抢占执行;
B18、执行LSF调度。
4.如权利要求2所述的方法,其特征在于,所述步骤B包括:
B21、当由于进程主动进入休眠状态、某个进程允许被抢占CPU或从中断或系统调用返回到用户态等情况出现,调度时机带来,系统进入调度状态;
B22、通过调度算法进行系统调度;
B23、判断系统是否过载,若没有,维持现状执行;若是则按B24进行;
B24、比较优先级值相近或相同且其值大于等于0的任务的价值值;
B25、依据任务的价值值大小,具有最大价值值的任务优先抢占当前任务的CPU使用权,依次类推执行;
B26、判断系统是否恢复正常情况,若没有则跳到B24,以获取系统整体最大的价值值,若正常跳到B22,系统正常运行。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中山大学,未经中山大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010215050.3/1.html,转载请声明来源钻瓜专利网。
- 上一篇:基于散射模型的水下图像复原方法
- 下一篇:一种无针加药正压接头