[发明专利]一种基于linux实时操作系统的单调速率优先级调度方法有效
申请号: | 202010072331.1 | 申请日: | 2020-01-21 |
公开(公告)号: | CN111506397B | 公开(公告)日: | 2023-04-28 |
发明(设计)人: | 张永俊;岑碧琦 | 申请(专利权)人: | 广东工业大学 |
主分类号: | G06F9/48 | 分类号: | G06F9/48 |
代理公司: | 广东广信君达律师事务所 44329 | 代理人: | 陈胜杰 |
地址: | 510062 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 linux 实时 操作系统 单调 速率 优先级 调度 方法 | ||
1.一种基于linux实时操作系统的单调速率优先级调度方法,其特征在于,包括就绪队列和延迟队列,就绪队列中的任务拥有比延迟队列中的任务更高的优先级;最高优先级任务进入就绪队列中,其它任务进入延迟队列;
当数控系统实时突发任务到来时,读取当前就绪队列中最高优先级任务的周期,赋予实时突发任务一个更小的周期,实时突发任务直接进入就绪队列,成为当前就绪队列中优先级最高的任务,当前任务结束运行时,即可调度该实时突发任务;
当低优先级任务将要错过其截止期时,将DRM算法扩展到多核处理器,低优先级任务迁移到其它核上运行;
所述低优先级任务是否需要迁移,通过松弛时间来衡量;当松弛时间为零时,低优先级任务迁移到CPU的其它核心上进行调度,并抢占该核心上正在运行的任务的CPU;
所述松弛时间的计算公式如下:
Laxityi=Di-(t+wi)
其中,Laxityi为松弛时间,t为当前时刻,Di为任务τi的绝对截止期,wi为任务τi的剩余执行时间;
所述就绪队列的数据结构如下:
struct drm_rq{
structrq*rq;
structlist_headdrm_rq_list_head;
unsigned long drm_nr_running;
unsignedlong drm_nr_switch;
}
其中,rq表示drm_rq所属的CPU就绪队列,drm_rq_list_head为就绪队列的队头元素DRM,就绪队列的进程也按优先级递减的顺序入队,drm_nr_running记录当前队列中进程的个数,drm_nr_switch和rm_nr_miss分别用来记录进程发生上下文切换的次数和进程错过截止期的次数;
所述延迟队列的数据结构如下:
structdrm_wq{
struct list_head drm_wq_head;
unsignedlongdrm_nr_delaying;
boolflag;
}
在数据结构drm_wq中,drm_wq_head表示队头结点,drm_nr_delaying表示延迟队列中的进程的数目,flag表示进程是否进入过延迟队列,在本周期内已进入过延迟队列的进程不能再被延迟。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广东工业大学,未经广东工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010072331.1/1.html,转载请声明来源钻瓜专利网。