1.处理机调度算法的共同目标是什么?批处理系统的调度目标又是什么?
答:共同目标:资源利用率,公平性,平衡性,策略强制执行。
批处理系统的调度目标:平均周转时间短,系统吞吐量高,处理机利用率高。
2. 为什么要引入高响应比优先调度算法? 它有何优点?
答:高响应比优先调度算法的基本思想是把CPU分配给就绪队列中响应比最高的进程。既考虑作业的执行时间也考虑作业的等待时间,综合了先来先服务和最短作业优先两种算法的特点。该算法中的响应比是指作业等待时间与运行比值,响应比公式定义如下:响应比=(等待时间+要求服务时间〉/要求服务时间,即RR= (w+s)/s=1+w/s,因此响应比一定是大于1的。短作业与先后次序的兼顾,且不会使长作业长期得不到服务响应比计算系统开销,增加系统开销适用于批处理系统。
3.在选择调度方式和调度算法时,应遵循的准则是什么?
答:(1)面向用户的准则:周转时间短、响应时间快、截止时间的保证、优先权准则。
(2)面向系统的准则:系统吞吐量高、处理机利用率好、各类资源的平衡利用。
4.何谓静态和动态优先级?确定静态优先级的依据是什么?
答:静态优先级是指在创建进程时确定且在进程的整个运行期间保持不变的优先级。
动态优先级是指在创建进程时赋予的优先权,可以随进程推进或随其等待时间增加而改变的优先级,可以获得更好的调度性能。
确定进程优先级的依据:进程类型、进程对资源的需求和用户要求。
5. 试比较FCFS和SJF两种进程调度算法。
• 相同点
o 性质相同:都是作为一种调度算法
o 作用对象相同:都可以用于作业调度和进程调度
• 不同点
o 算法思想不同
FCFS算法是指进程调度时是从就绪的进程队列中选择一个最先进入该队列的进程,为之分配处理机,使之投入运行的一种调度算法。
SJF算法是指以作业的长短来计算优先级,作业越短,其优先级越高,越优先将他们调入内存运行。
• 优缺点相对
FCFS有利于长作业,不利于短作业
SJF有利于短作业,不利于长作业
6.为什么说多级反馈队列调度算法能较好地满足各方面用户的需要?
答:终端型用户:由于终端型用户提交的作业多属于交互型作业,通常较小,系统只要能使这些作业在第一队列规定的时间片内完成,便可使终端型用户感到满意
短批处理作业用户:对于这类作业,如果可在第一队列中执行完成,便获得与终端型作业一样的响应时间。对于稍长的短作业,也只需在第二和第三队列各执行一时间片完成,其周转时间仍然较短。
长批处理作业用户:对于长作业,它将依次在第1,2,……n个队列中运行,然后再按轮转方式运行,用户不必担心其作业长期得不到处理。
7.为什么说传统的几种调度算法都不能算是公平调度算法?
答: 以上介绍的几种调度算法所保证的只是优先运行,如优先级算法是优先级最高的作业优先运行,但并不保证作业占用了多少处理机时间。另外也未考虑到调度的公平性。
8.按调度方式可将实时调度算法分为哪几种?
答:按调度方式不同,可分为非抢占调度算法和抢占调度算法两种。
9.什么是最早截止时间优先调度算法,请举例说明之。
答:根据任务的开始截止时间确定的任务优先级调度算法。截止时间越早则优先级越高。该算法要求在系统中保持一个实时任务就绪队列,该队列按各任务截止时间的先后排序。
10.何谓死锁?产生死锁的原因和必要条件是什么?
答: (1) 死锁是指多个进程因竞争资源而造成的一种僵局,若无外力作用,这些进程都将永远不能再向前推进;
(2)产生死锁的原因有二,一是竞争资源,二是进程推进顺序非法;
(3)必要条件是:互斥条件,请求和保持条件,不剥夺条件和环路等待条件。
11.在解决死锁问题的几个方法中,哪种方法最易于实现?哪种方法是资源利用率最高?
答:解决/处理死锁的方法有预防死锁、避免死锁、检测和解除死锁,其中预防死锁方法最容易实现,但由于所施加的限制条件过于严格,会导致系统资源利用率和系统吞吐量降低;而检测和解除死锁方法可是系统获得较好的资源利用率和系统吞吐量。
12、在银行家算法中,若出现下述资源分配情况,试问:
(1)该状态是否安全?
(2)若进程P2提出请求Request(1,2,2,2)后,系统能否将资源分配给它?
(1)进行安全性检查:
存在安全序列{P0,P3,P1,P2,P4},该状态安全。
(2)
Request2(1,2,2,2)<=Need2(2,3,5,6)
Request2(1,2,2,2)<=Available(1,6,2,2)
系统暂时先假定可为P2分配资源,并修改有关数据:
进行安全性检查:可用资源0400已不能满足任何进程的需要,故系统进入不安全状态,此时系统不分配资源。