浅谈实时操作系统任务调度
来源:互联网 发布:展力网络怎么样 编辑:程序博客网 时间:2024/05/21 09:57
文章转自:http://blog.sina.com.cn/s/blog_7d764ea90100uqud.html
一、1、 调度用来确定多任务环境下任务执行的顺序和在获得CPU资源后能够执行的时间长度。
二、调度算法
1、各种实时操作系统的实时调度算法可以分为如下三种类别
基于优先级的调度算法(Priority-driven scheduling-PD)、基于CPU使用比例的共享式的调度算法(Share-drivescheduling-SD)、以及基于时间的进程调度算法(Time—driven schedulinq-TD),下面对第一种调度算法进行重点介绍。
法可以分为如下两种类型
1.1 静态调度
1.2 动态调度
调度可以是抢占式的或非抢占式的。当检查到一事件时,动态抢占式算法立即决定是运行与此事件相关的任务,或继续执行当前的任务;对于动态非抢占式算法,它仅仅知道有另一
个任务可以运行,在当前任务结束后,它才在就绪的任务中选择一个来运行。
三、调度算法的选择 嵌入式实时系统中资源是非常有限的,所以开销要尽可能小。开销主要包括运行开销和调度开销。运行开销与队列分析和从调度队列中增加、删除任务相关。每个任务在一个调度周期内至少被阻塞和唤醒一次,所以任务调度器在一个周期内不得不对一个任务进行两次选择。静态算法根据任务的执行频率设置优先级,有较小的运行开销,但执行频率最高的任务不一定是最重要的。EDF算法中则是对整个任务列表的调度开销进行全面比较,选择最高优先级任务进行调度,有较小的调度开销,但对多个任务具有同一优先级的情况考虑不足。基于优先级的调度算法在实时进程调度中使用很广泛,静态优先级调度算法根据应用的属性来分配优先级,其可控性较强,而动态优先级调度算法在资源分配和调度时具有更大的灵活性。如果结合这两种算法的优点,扬长避短,就能够对实时任务进行更合理、更高效的任务调度。利用最著名的动态优先级调度算法一EDF算法的高CPU利用率、可调度较大的任务集的特点,结合静态优先级调度算法的可控性就形成了一种新的调度算法-NEDF、调度算法(New Earliest Dead—line First)。
(1)执行时间
以执行时间为依据,执行时间越短,静态优先级越高。
(2)任务周期
以任务周期为依据,任务周期越短,静态优先级越高。
(3)任务的CPU利用率
任务的CPU利用率为任务执行时间与任务周期的比值(生)。仟各的CPU利基于Linux的实时操作系统研究用率越高,静态优先级越高。(4)任务紧急程度根据任务的紧急程度,人为安排任务的优先级。任务越紧急,静态优先级越高。
高优先级的任务运行。如果截止期限均不相等,且最小截止期限比次小截止期限小许多,则选择最小截止期限的任务运行。若最小截止期限与次小截止期限的差值在一定的IM值范围
内,则选择高优先级的任务运行。截止期限IM 值的设定应保证最高优先级任务能够如期完成,一般可取最小相对截止期限的值,以确保在最小相对截止期限的周期范围内,最高优先
级任务能够优先运行。
- 浅谈实时操作系统任务调度
- 浅谈实时操作系统任务管理 和 调度
- 实时操作系统任务调度
- 嵌入式实时操作系统任务调度算法
- ucosii实时操作系统的任务调度
- 实时操作系统内核的任务调度点
- 从任务调度机制分析操作系统的实时性
- 实时操作系统的任务调度示例之抢占
- 实时操作系统的任务调度示例之优先级反转
- 实时操作系统的任务调度示例之时间片
- 从任务调度机制分析操作系统的实时性
- 【操作系统】实时调度算法
- 【操作系统】实时调度
- 操作系统 任务管理 调度
- 操作系统任务调度问题
- 操作系统任务调度问题
- 操作系统任务调度问题
- 【操作系统】任务调度方法
- 关于2015招商信用卡设计的参赛总结
- 静坐常思己过,闲谈莫论人非
- HDoj-1312-Red and Black -BFS
- android开发第一天打电话发短信
- java中的进程与线程及java对象的内存结构
- 浅谈实时操作系统任务调度
- java实现手机截屏工具
- android开发第二天文件存储
- 高层iOS HTTP API
- 卢卡斯的合格率凯撒的合格率卡萨丁和
- 精确解方程
- 卡死了的合格率凯撒的合格率卡萨读后感
- iOS 7中实现模糊效果
- MySQL多表查询