文章目录
实时进程调度的剥夺方式
实时进程的调度方式
基于时间片的轮转调度(Round Robin Preemptive Scheduler)
实时进程进入队列后,会等待前面的任务的时间片,会等待若干个时间片。
- 响应时间在秒级(很慢了)
- 广泛应用于分时系统,也可以用于一般的实时信息处理系统。
- 不适用于严格的实时控制系统
基于优先级的非剥夺调度法(Priority-driven Nonpreemptive Scheduler)
为实时任务赋予较高的优先级,将他们插入就绪队列的队首,只要正在执行的进程释放处理器,则立刻调度该实时任务执行。
- 响应时间在数百毫秒至数秒范围;
- 多用于多道批处理系统,也可以用于要求不太严格的实时系统;
基于优先级的剥夺调度法(Priority-driven Preemptive Scheduler)
当实时任务到达后,可以在时钟中断时,剥夺正在执行的低优先级进程的执行,调度执行高优先级的任务。
-响应时间较短,一般在几十毫秒至几毫秒;
- 有些情况下不可以被剥夺,比如执行原语期间;
立刻剥夺调度法(Immediate Preemptive Scheduler)
要求操作系统具有快速响应外部事件的能力。一旦出现外部中断们只要当前任务未处于临界区,便立刻剥夺其执行,把处理机分配给请求终端的紧迫任务。
- 调度时延可以降低至 100 微妙,甚至更低;
实时系统的调度目标
- hard real-time task, 在其规定的截止时间内完成;
- 尽可能使 soft real-time task 也能在规定时的截止时间内完成;
- 公平性和最短平均响应时间等要求已不再重要。
- 但是,大多数现代实时操作系统无法直接处理任务的截止时间,他们只能尽量提高相应速度,以尽快的调度任务。