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

一、CPU调度程序

基本概念

调度算法的对象:CPU

操作系统概念 CPU调度(进程调度)_第1张图片

图解:

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

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

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


CPU 调度程序

操作系统概念 CPU调度(进程调度)_第2张图片
图解:

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


抢占调度

操作系统概念 CPU调度(进程调度)_第3张图片


二、CPU调度准则

调度算法性能的衡量

操作系统概念 CPU调度(进程调度)_第4张图片


调度性能指标

操作系统概念 CPU调度(进程调度)_第5张图片


三、调度算法

先来先服务

先来先服务算法(First Come First Service),即调度程序只考虑一个参数——作业到达系统的时间,谁先到就给谁提供服务。
操作系统概念 CPU调度(进程调度)_第6张图片
操作系统概念 CPU调度(进程调度)_第7张图片


时间片轮转

操作系统概念 CPU调度(进程调度)_第8张图片

操作系统概念 CPU调度(进程调度)_第9张图片
操作系统概念 CPU调度(进程调度)_第10张图片
操作系统概念 CPU调度(进程调度)_第11张图片


最短作业优先

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

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

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

操作系统概念 CPU调度(进程调度)_第12张图片
操作系统概念 CPU调度(进程调度)_第13张图片


优先级调度

操作系统概念 CPU调度(进程调度)_第14张图片
操作系统概念 CPU调度(进程调度)_第15张图片


四、review 总结

在这里插入图片描述

图解:

调度的准则分为:

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


操作系统概念 CPU调度(进程调度)_第16张图片

调度算法:

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

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

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

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


注:源自B站up主:Y4NGY

你可能感兴趣的:(操作系统,操作系统)