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

调度算法

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

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

本文作者:codeFiler

本文链接:https://www.cnblogs.com/coderD/p/13910546.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   codeFiler  阅读(1130)  评论(0编辑  收藏  举报
编辑推荐:
· 继承的思维:从思维模式到架构设计的深度解析
· 如何在 .NET 中 使用 ANTLR4
· 后端思维之高并发处理方案
· 理解Rust引用及其生命周期标识(下)
· 从二进制到误差:逐行拆解C语言浮点运算中的4008175468544之谜
阅读排行:
· 35岁程序员的中年求职记:四次碰壁后的深度反思
· 当职场成战场:降职、阴谋与一场硬碰硬的抗争
· 用99元买的服务器搭一套CI/CD系统
· Excel百万数据如何快速导入?
· ShadowSql之.net sql拼写神器
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起