操作系统概念 CPU调度(进程调度)

一、CPU调度程序

基本概念

调度算法的对象:CPU

在这里插入图片描述

图解:

1) CPU burst:CPU 运行程序指令的时间 ; I/O burst: I/O 操作的时间;

2)长进程:占用 CPU 时间长的进程;

3)短进程:占用 CPU 时间短的进程;


CPU 调度程序

在这里插入图片描述
图解:

在单处理器系统中,当 CPU 空闲的时候,操作系统会在就绪队列中,选择一个进程来执行。被选中的进程,由 CPU 调度程序来发起、执行。


抢占调度

在这里插入图片描述


二、CPU调度准则

调度算法性能的衡量

在这里插入图片描述


调度性能指标

在这里插入图片描述


三、调度算法

先来先服务

先来先服务算法(First Come First Service),即调度程序只考虑一个参数——作业到达系统的时间,谁先到就给谁提供服务。
在这里插入图片描述
在这里插入图片描述


时间片轮转

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


最短作业优先

最短作业优先算法(Shortest Job First):即我们也只考虑一个参数——进程 CPU 的执行时间,计算量越小的进程将会优先得到系统的服务。

最短剩余时间优先算法 SRTF(Shortest Remaining Time First):即我们每次选择调用执行的进程,是剩余的时间最短的作业或进程。

(最短剩余时间优先算法)这个变化,事实上就是把原来(最短作业优先算法)的非抢占式的算法,变成了一种抢占式的调度算法。

在这里插入图片描述
在这里插入图片描述


优先级调度

在这里插入图片描述
在这里插入图片描述


四、review 总结

在这里插入图片描述

图解:

调度的准则分为:

1)周转时间:进程从提交到结束的时间。
2)等待时间:在就绪队列中累计等待的时间。


在这里插入图片描述

调度算法:

1)FCFS/FIFO :先来先服务,也称为先进先出,这是一种非抢占式的算法,调整进程的次序可能会改善该算法的效果。

2)SJF/SRTF:SJF,是非抢占式的,当前进程在运行时,其他进程无法抢占该进程;SRTF,是抢占式的,当前运行的进程,可以被其他剩余时间更短的进程抢占。该算法是最优的,但却是无法实现的(无法预测时间)。

3)RR:时间片轮转,在分时系统中,划定一个确定的时间片,给各个进程调度。它是公平的算法,也是抢占式的算法(时间片用完,就会被抢占)。

4)PRIORITY:在 linux 中,数字小的,优先级更高。该算法会出现饥饿现象:低优先级的进程会长时间得不到服务。
静态优先级调度:进程的优先级一旦确定,将不会改变;
动态优先级调度:进程运行过程中,优先级会发生变化;根据等待时间和运行时间长短,动态调整进程的优先级。


注:源自B站up主:Y4NGY

  • 8
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值