博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
操作系统中的调度问题
阅读量:4578 次
发布时间:2019-06-08

本文共 895 字,大约阅读时间需要 2 分钟。

1、调度时机:创建新的进程后、运行进程退出时、进程因为I/o或其他原因阻塞时、发生I/o中断(完成了i/o的阻塞进程变为了就绪进程)

2、调度算法应用环境:

  批处理系统,交互式系统,实时系统,

不同的系统有不同的调度策略

 

3、批处理系统:

先来先服务:非抢占式  当正在运行的进程被阻塞时,队列中的第一个进程就接着运行,在被阻塞的进程变为就绪时,像一个新来的作业一样,拍到队列的末尾。

优缺点:利于长作业,不利于短作业。造成处理机和I/O设备得不到充分利用。

 

最短作业优先:适用于运行时间可以预知的非抢占式批处理调度算法。

优缺点:有利于短作业,长作业因得不到资源饿死。

 

最短剩余时间优先:进程运行时间必须提前掌握,调度程序总是选择剩余运行时间最短的进程运行,抢占式调度算法。但是这种调度策略必须记录进程过去被服务的时间,增加了开销

优缺点:开销大,不利于长进程。

 

4、交互式系统中的调度:

时间片轮转算法:时间片设置过短,会导致过多的进程切换,降低cpu效率。如果设置太长有可能引起对短的交互请求的响应时间变长。时间片一般设置到20ms-50ms

优先级调度算法:进程的优先级与进程的紧迫度有关,分为动态优先级和静态优先级,为了防止高优先级无休止的运行下去,调度程序可以在每个时钟中断降低当前进程的优先级。如果这个动作导致该进程的优先级地狱次高优先级的进程,则进程切换。

多级队列调度算法:把就绪队列分成几个单独的队列根据进程的优先级、类型等固定的把进程加入不同的队列,每个队列有各自的调度算法。例如前台队列利用时间片轮转进程调度、后台进程利用FCFS调度。此外,各队列之间也要进行调度,通常采用固定优先级的抢占式调度。例如,前台进程优先级高于后台优先级,或者各队列分配不同的时间比例,前台80%(RR),后台20%(FCFS)。

最短进程优先: 交互式系统遵循:等待命令,执行命令,等待命令,执行命令。。。,我们将每条命令当做一个“作业”,根据以往进程行为,对运行时间进行评估。

 

转载于:https://www.cnblogs.com/pengfeiliu/p/4385274.html

你可能感兴趣的文章
解决Web部署 svg/woff/woff2字体 404错误
查看>>
fiddler 抓取 nodejs
查看>>
1.Nginx服务应用
查看>>
MySQL基础
查看>>
凹凸贴图与法线贴图
查看>>
sqlserver跨服务器数据库sql语句
查看>>
设计模式-结构型模式,外观模式(6)
查看>>
Trie模版
查看>>
2018HDU多校训练-3-Problem F. Grab The Tree
查看>>
2016012032四则运算网页版结对项目报告
查看>>
边工作边刷题:70天一遍leetcode: day 45
查看>>
淘宝专业版改基础版方法
查看>>
[转]ARM Pipeline
查看>>
[转]Blocking Code Injection on iOS and OS X
查看>>
自动化测试
查看>>
vue $options 获取自定义属性
查看>>
Vue避免 v-if 和 v-for 用在一起
查看>>
TraceSource记录程序日志
查看>>
【Source教程】GCFScape下载安装与使用
查看>>
数据结构 单链表反转 回顾练习
查看>>