操作系统第三章作业
第三章 处理机调度 作业
-
处理机调度算法的共同目标是什么? 批处理系统的调度目标又是什么?
处理机调度算法的共同目标: 资源利用率, 公平性, 平衡性等
批处理系统的调度目标: 平均周转时间段, 系统吞吐率高, 处理机利用率高
-
为什么要引入高响应比优先调度算法? 它有何优点?
为了综合FCFS与SJF调度算法的优点而引入了高响应比优先调度算法, 其有利于短作业的同时, 又能兼顾到长作业, 避免了SJF中长作业的饥饿问题
-
在选择调度方式和调度算法时,应遵循的准则是什么?
面向用户准则: 平均周转时间短, 响应速度快, 截止时间的保证, 优先权原则
面下系统准则: 系统吞吐率高, 处理机利用率高, 各类资源平衡利用
-
何谓静态和动态优先级? 确定静态优先级的依据是什么?
静态与动态优先级的区别在于创建进程后, 进程的优先级是否可变, 可变的优先级意味着更好的调度性能
静态优先级的确认原则:
系统进程>用户进程, 交互式进程>非交互式进程(后台进程), IO型进程>计算性进程 -
试比较FCFS和SJF两种进程调度算法。
FCFS算法较为简单, 但效率较低, 对长作业有利, 但是不利于短作业, 对CPU繁忙型作业有利, 对IO繁忙型作业不利
SJF算法具有最少的平均等待时间与平均周转时间, 对短作业有利, 但长作业不利, 可能导致饥饿现象
-
为什么说多级反馈队列调度算法能较好地满足各方面用户的需要?
多级反馈队列的优点兼顾了各个方面的需求:
对于终端型用户, 为短作业优先
对于短批处理作业用户, 周转时间较短
对于长批处理作业用户, 长作业在经过前面几个队列后得到部分处理, 不会饥饿 -
为什么说传统的几种调度算法都不能算是公平调度算法?
传统的几种算法都仅仅满足了部分调度需求, FCFS不利于短作业和IO型作业, SJF不利于长作业与紧迫型作业, PSA优先级算法不利于优先权低的作业, RR时间片轮转算法不利于紧迫作业
-
按调度方式可将实时调度算法分为哪几种?
- 非抢占式:
又细分为轮转调度算法与优先权调度算法 - 抢占式:
细分为基于时钟中断的抢占式优先权调度算法与立即抢占的优先权调度算法
- 非抢占式:
-
什么是最早截止时间优先调度算法? 举例说明之。
最早截止时间优先调度算法按照任务的截止时间将就绪队列升序排序, 每次选择就绪队列中最靠前的任务执行
如任务1,2,3,4依次到达, 进入就绪队列等候, 系统按照截止时间将4个任务升序排序, 最终的执行顺序为2,3,1,4 -
何谓死锁? 产生死锁的原因和必要条件是什么?
死锁为多个进程在竞争系统资源时产生的一种僵局, 在没有外力作用的情况下无法自解
死锁的原因主要在于资源的竞争与资源的释放, 当系统的资源不足以满足进程需求且系统对于资源的释放顺序不当时, 可能发生死锁
死锁的必要条件:
- 资源的排他性使用
- 进程持有资源的同时又对其他资源发出请求
- 进程持有的资源在使用完成前无法被剥夺
- 多个进程对资源的请求形成环路
-
在解决死锁问题的几个方法中,哪种方法最易于实现? 哪种方法使资源利用率最高?
解决死锁问题可以从4个方面入手: 预防, 避免, 检测, 解除, 其中预防死锁最容易实现, 而避免死锁使得资源利用率最高
-
- 能够找到一个安全序列(p0, p3 p4 p1 p2), 所以系统是安全的