时间片轮转调度、优先级调度、多级反馈队列调度

调度算法

Snipaste_2020-11-01_17-04-11

时间片轮转

常用于分时系统,更注重“响应时间”,因而此处不计算周转时间。

时间片为2

Snipaste_2020-11-01_17-16-11

Snipaste_2020-11-01_17-18-26

Snipaste_2020-11-01_17-19-10

时间片为5

Snipaste_2020-11-01_17-20-47

按照先来先服务调度算法

Snipaste_2020-11-01_17-21-45

如果时间片太大,使得每个进程都可以在一个时间片内就完成,则时间片轮转调度算法退化为先来先服务调度算法,并且会增大进程响应时间。因此时间片不能太大。

​ 比如:系统中有10个进程在并发执行,如果时间片为1秒,则一个进程被影响可能需要等9秒...也就是说,如果用户在自己进程的时间片外通过键盘发出调试命令,可能需要等待9秒才能被系统响应。

另一方面,进程调度、切换是有时间代价的(保存、恢复运行环境),因此如果时间片太小,会导致进程切换过于频繁,系统会花大量时间来处理进程切换,从而导致实际用于进程执行的时间比例减少,可见时间片也不能太小

一般来说,设计时间片要让切换进程的开销占比不超过1%

Snipaste_2020-11-01_17-25-27

优先级调度算法

Snipaste_2020-11-01_17-31-39

Snipaste_2020-11-01_17-34-28

Snipaste_2020-11-01_17-43-35

Snipaste_2020-11-01_17-44-34

FCFS算法的优点是公平

SJF算法的优点是能尽快处理完短作业,平均等待/周转时间等参数很优秀

时间片轮转调度算法可以让各个进程得到及时的响应

优先级调度算法可以灵活地调整各种进程被服务的机会

多级反馈队列调度算法

Snipaste_2020-11-01_17-51-49

Snipaste_2020-11-01_17-54-38

Snipaste_2020-11-01_17-55-10

:比起早期的批处理系统来说,由于计算机造价大幅降低,因此之后出现的交互式操作系统(包括分时操作系统、实时操作系统等)更注重系统的响应时间、公平性、平衡性等指标。而这几种算法恰好也能较好地满足交互式系统的需求。因此这三种算法适合用于交互式系统

posted @ 2020-11-01 18:19  codeFiler  阅读(1075)  评论(0编辑  收藏  举报