深入理解操作系统——cpu处理机调度详解

在进行进程切换时,cpu该以什么样的规则从就绪队列中挑选出下一个占用cpu运行的线程,而且调度的时机是什么时候。

处理机资源的使用模式是在时间片机制下,当当前时间片运行结束后,或者cpu在时间片未执行完之前被抢占时,这时候cpu得去决定去就绪队列里挑选下一个要执行的进程。如何选择下一个进程由调度算法来决定。

先来先服务算法:类似页面置换算法里的FIFO算法,依据进程进入就绪队列的先后顺序。比较简单,但可能长进程与短进程的先后顺序不确定,使得平均等待时间波动较大。

短进程优先算法:短进程优先执行,但可能导致饥饿,连续的短进程使得长进程久久不能执行。

最高响应比优先算法:这加入了预估未来的功能,选择就绪队列中响应比值最高的进程。改进了短进程优先算法。关注进程的等待时间R=(w+s)/s。防止无限期延迟.

时间片轮转算法:时间片的长度是固定的。无论当前执行的进程执行时间长度大于时间片长度或短于时间片长度,等到时间片时间结束时候,就会切换到下一进程执行,未执行完的进程继续等待排队。增加了额外的上下文切换。时间片的长度选择需要使得上下文开销处于1%以内。

多级队列调度算法:将就绪队列划分为多个独立的子队列,分别有各自的调度算法。涉及到队列间的调度和队列内的调度。

多级反馈队列算法:进程不会固定在某一队列中,会因为未执行完或者其他原因在不同队列之间移动。

公平共享调度:将队列划分成重要的组和不重要的组,然后按比例分配资源,保证不重要的组无法垄断资源。

实时调度对操作系统提出更高的要求,需要同时兼顾硬时限和软时限。另外当计算机中有多个处理机的时候,每个处理机的调度算法可不相同,但要注意共享资源的访问要进行同步,进程分在哪个处理机上执行有静态和动态两种分配方式。

每个进程都有自己的优先级大小,有一种高优先级进程长时间等待低优先级进程所占用资源的现象称为优先级反置。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值