操作系统读书笔记___轮转调度算法和最早截止时间优先算法

版权声明:私藏源代码是违反人性的罪恶行为!博客转载无需告知,学无止境。 https://blog.csdn.net/qq_41822235/article/details/85798302

大前提是我们要清楚:轮转调度用于分时系统最早截止时间优先用于实时系统,面向不同类型的OS。因而没有可比性

一、轮转调度

1.1 基本原理

在轮转(round robin)调度算法中,系统将所有的就绪进程按FCFS策略排成一个就绪队列。系统可设置每隔一定时间(如30ms)便产生一次中断,去激活进程调度程序进行调度,把CPU分配给队首进程,并令其执行一个时间片。当它运行完毕后,又把处理机分配给就绪队列中队首进程,也让它执行一个时间片。这样,就可以保证就绪队列中的所有进程在确定的时间段内,都能获得一个时间片的处理机时间。

1.2 进程切换时机

  • 若时间片尚未用完,正在运行的进程已经完成,就立即启动激活调度程序,将它从就绪队列中删除,再调度从就绪队列中的队首的进程运行,并启动一个新的时间片。
  • 在时间片用完时,计时器中断处理程序被激活。如果进程尚未运行完毕,调度程序将把它送往就绪队列的队尾。

1.3 时间片大小的确定

时间片的大小对系统性能有很大的影响。若选择很小的时间片,将有利于短作业,因为它能在该时间片内完成。但时间片小,意味着会频繁执行进程调度和进程上下文切换,这无疑会增加系统的开销。反之,时间片选的太长,且为使每个进程都能在一个时间片内完成,RR算法便退化为FCFS算法,无法满足短作业和交互式用户的需求。时间片略大于典型交互时间是最得当的

1.4 引例

分别采用q=1和q=4进行查看: 

平均周转时间是衡量效率的很重要的指标之一,q=4恰好满足了时间片大小略大于典型交互时间的要求,我们考虑的是理想情况即切换不占用时间。 

 根据定义,有以下关系式成立:

周转时间=完成时间-到达时间

带权周转时间=周转时间÷服务时间,比值越大越不好,是一个没有单位的数。

二、最早截止时间优先

猜你喜欢

转载自blog.csdn.net/qq_41822235/article/details/85798302