1、在单处理器的多进程系统中,进程什么时候占有处理器以及决定占用时间的长短是由( )决定的。
A、进程运行时间 B、进程的特点和进程调度策略
C、进程执行的代码 D、进程完成什么功能
进程调度的时机与进程特点有关,如进程是否为CPU繁忙型还是I/O繁忙型、自身的优先级等。但是仅这些特点是不够的,能否得到调度还取决于进程调度策略,若采用优先级调度算法,则进程的优先级才起作用。至于占用处理器运行时间的长短,则要看进程自身,若进程是I/O繁忙型,运行过程中要频繁访问I/O端口,也就是说,可能会频繁放弃CPU。所以,占用CPU的时间就不会长,一旦放弃CPU,则必须等待下次调度。若进程是CPU繁忙型,则一旦占有CPU就可能会运行很长时间,但是运行时间还取决于进程调度策略,大部分情况下,交互式系统为改善用户的响应时间,大多数采用时间片轮转的算法,这种算法在进程占用CPU达到一定时间后,会强制将其换下,以保证其他进程的CPU使用权。所以选择B选项。
2、时间片轮转算法是为了( )
A、多个用户能及时干预系统 B、优先级较高的进程能得到及时响应
C、是系统变得更为高效 D、需要CPU时间最少的进程最先执行
时间片轮转的主要目的是使得多个交互的用户能够得到及时响应,使得用户以为“独占”计算机的使用。因此它并没有偏好,也不会对特殊进程做特殊服务。时间片轮转增加了系统开销,所以不会使得系统高效运转,吞吐量和周转时间均不如批处理。但是其较快速的响应时间使得用户能够与计算机进行交互,改善了人机环境,满足用户需求。
3、( )有利于CPU繁忙型的作业,而不利于I/O繁忙型的作业。
A、时间片轮转算法 B、先来先服务调度算法
C、短作业优先算法 D、优先级调度算法
先来先服务(FCFS)调度算法是一种最简单的调度算法,当在作业调度中采用该算法时,每次调度是从后备作业队列中选择一个或多个最先进入该队列的作业,将它们调入内存,为它们分配资源、创建进程,然后放入就绪队列。
FCFS调度算法比较有利于长作业,而不利于短作业。所谓CPU繁忙型的作业,是指该类作业需要大量的CPU时间进行计算,而很少请求I/O操作。I/O繁忙型的作业是指CPU处理时,需频繁的请求I/O操作。所以CPU繁忙型作业更接近于长作业。答案选择B选项。
4、为了照顾短作业用户应采用( B )调度算法;为了能实现人机交互应采用( D )调度算法;既能使短作业用户满意又能使长作业用户满意应采用( C )调度算法。
A、FCFS(先来先服务) B、SJF(短作业优先) C、HRRN(高响应比优先) D、RR(时间片轮转)
照顾短作业用户,选择短作业优先调度算法(SJF);照顾紧急作业用户,即选择优先级高的作业优先调度,采用基于优先级的剥夺调度算法();实现人机交互,要保证每个作业都能在一定时间内轮到,采用时间片轮转法(RR);使各种作业用户满意,要处理多级反馈,所以选择多级反馈队列调度算法。
5、有三个作业分别为J1、J2、J3,其运行时间分别为2h、5h、3h,假定它们能同时达到,并在同一台处理器上以单道方式运行,则平均周转时间最小的执行顺序为( J1,J3,J2 )
本题目考查平均周转时间的计算。(J1,J3,J2)所对应的平均周转时间为(2+2+3+2+3+5)/3=17/3。
6、关于优先权大小的论述中,正确的是( )。
A、资源要求多的作业优先权应高于资源要求少的作业优先权
B、用户进程的优先权,应高于系统进程的优先权
C、在动态优先权中,随着作业等待时间的增加,其优先权将随之下降
D、在动态优先权中,随着作业执行时间的增加,其优先权将随之下降
系统进程的优先权应高于用户进程的优先权。作业的优先权与长作业、短作业或者是系统资源要求的多少没有必然的关系。在动态优先权中,随着进程执行时间的增加其优先权随之降低,随着作业等待时间的增加其优先权应上升。
7、进程调度算法采用固定时间片轮转调度算法,当时间片过大时,就会使时间片轮转算法转化为( )调度算法。
A、HRRN B、FCFS C、SPF D、优先级
时间片轮转调度算法在实际运行中也是按先后顺序使用时间片,当时间片过大时,我们可以认为其大于进程需要的运行时间,即转变为先来先服务调度算法。
8、在调度算法中,对短进程不利的是( )调度算法。
A、SPF B、FCFS C、HRRN D、多级反馈队列
先来先服务调度算法中,若一个长进程(作业)先到达系统,就会使后面许多短进程(作业)等待很长时间,因此对短进程(作业)不利。
9、下列选项中,满足短任务优先且不会发生饥饿现象的调度算法是( B ),最有利于提高系统吞吐量的调度算法是( D )。
A、FCFS B、 HRRN C、 RR D、SJ(P)F
由于响应比等于等待时间加上服务时间再除以服务时间,所以等待时间相同时,短作业的响应比更大,能优先获得时间片,另一方面,当服务时间相同时,等待时间越长,响应比越大,所以同时照顾了长作业。
10、下列调度算法中,下列选项中,不可能导致饥饿现象的调度算法是( )。
A、RR B、静态优先数调度 C、非抢占式短作业优先 D、抢占式短作业优先
采用静态优先级调度时,当系统总是出现优先级高的任务时,优先级低的任务会总是得不到处理机而产生饥饿现象;而短任务优先调度不管是抢占式或是非抢占的,当系统总是出现新来的短任务时,长任务会总是得不到处理机,产生饥饿现象,因此B、C、D都错误,选A。
11、一个进程的读磁盘操作完成后,操作系统针对该进程必做的是( )。
A、修改进程状态为就绪态 B、降低进程优先级
C、给进程分配用户内存空间 D、增加进程时间片大小
进程申请读磁盘操作的时候,因为要等待I/O完成,将自身阻塞,进入阻塞态。当 I/O完成之后,从阻塞进入就绪态
12、采用时间片轮转调度算法分配CPU时,当处于运行状态的进程用完一个时间片后,它的状态是( )状态。
A、阻塞 B、运行 C、就绪 D、消亡
处于运行状态的进程用完一个时间片后,它的状态会变为就绪状态等待下一次处理器调度。当进程执行完最后的语句并使用系统调用exit,请求操作系统删除它或出现一些异常情况时,进程才会终止。
13、下列情况会导致系统发生死锁的是( )。
A、进程释放资源 B、一个进程进入死循环
C、多个进程竞争资源出现了循环等待 D、多个进程竞争使用共享型的设备
死锁:是指多个进程在运行过程中因争夺资源而造成的一种僵局,当进程处于这种僵持状态时,若无外力作用,它们都将无法再向前推进(即都不能继续执行)。 定义中须注意的几点: 多个进程:只有多个进程在同时运行时才可能 出现争夺资源的情况; 争夺资源:有限资源; 僵持状态:无休止的等待。
两个或两个以上并发进程,如果每个进程持有某种资源,而又等待着别的进程释放它或它们现在保持着的资源,否则就不能向前推进,此时,每个进程都占用了一定的资源,但又都不能向前推进。这种现象称为死锁。
死锁的起因:(1)互斥条件;(2)不可剥夺条件;(3)部分分配;(4)环路条件。
14、对资源采用按序分配策略能达到( )的目的。
A、预防死锁 B、避免死锁 C、检测死锁 D、解除死锁
对于死锁的预防可以采取3种措施:
采用资源的静态预分配策略,破坏“部分分配”条件;
允许进程剥夺使用其它进程占有的资源,从而破坏“不可剥夺”条件;
采用资源有序分配法,破坏“环路”条件。
15、死锁预防是保证系统不进入死锁状态的静态策略,其解决办法是破坏产生死锁的4个必要条件之一,下列办法中破坏了“循环等待”条件的是( )。
A、银行家算法 B、一次性分配策略 C、剥夺资源法 D、资源有序分配策略
循环等待是死锁的一个条件,一个确保此条件不成立的方法是对所有的资源类型进行完全排序,且要求每个进程按递增顺序来申请资源。
破坏“请求和保持”条件,采取一次性分配策略(也叫静态分配策略)。或者允许进程只获得运行初期所需资源,运行过程中逐步释放已用完资源,然后再请求新的资源。
银行家算法是避免死锁算法。
16、银行家算法是一种( )算法。
A、预防死锁 B、避免死锁 C、检测死锁 D、解除死锁
银行家算法是一种最有代表性的避免死锁的算法。在避免死锁方法中允许进程动态地申请资源,但系统在进行资源分配之前,应先计算此次分配资源的安全性,若分配不会导致系统进入不安全状态,则分配,否则等待。
17、在下列解决死锁的方法中,属于死锁预防策略的是( )。
A、银行家算法 B、一次性分配策略
C、资源分配图简化 D、死锁检测
在解决死锁的方法中,死锁的预防是设法减少破坏产生死锁的必要条件之一。银行家算法属于死锁的避免,不很严格地限制产生死锁的必要条件的存在,而是在系统运行过程中小心地避免死锁的最终发生。死锁检测算法,允许死锁发生,定期检测。所以,只有资源有序分配法属于预防死锁的策略。
18、某系统有n台互斥使用的同类设备,三个并发进程分别需要 3、4、5 台设备,可确保系统不发生死锁的设备数 n 最小为( )。
A.9 B.10 C.11 D.12
极端状态下:
进程1(3台):申请到2台,无法工作;
进程2(4台):申请到3台,无法工作;
进程3(5台):申请到4台,无法工作;
申请总数:2+3+4=9,此时若只有9台,3个进程持续申请且申请不到,造成死锁。
所以必须再空出一台。
19、某计算机系统中有 8 台打印机,由 K 个进程竞争使用,每个进程最多需要 3 台打印机。该系统可能会发生死锁的 K 的最小值是( )。
A.2 B.3 C.4 D.5
最多每个进程需要3台。先实际分配给每个进程2台。设最多X台不死锁。有如下等式:
2*X + 1 <= 8 得出 X=3
题目问的是:最少多少个进程使得会发生死锁。
故 X+1 = 4 个进程。
20、死锁与安全状态的关系是( )。
A.死锁状态有可能是安全状态 B.安全状态有可能成为死锁状态
C.不安全状态就是死锁状态 D.死锁状态一定是不安全状态
并非所有的不安全状态都是死锁状态,但当系统进入不安全状态后,便可能进入死锁状态;反之,只要系统处于安全状态,系统便可以避免进入死锁状态;死锁状态必定是不安全状态。
21、下列关于死锁的说法正确的是( )。
I.死锁状态一定是不安全状态
II.系统资源分配不足和进程推进顺序非法是产生死锁的原因
III.资源的有序分配策略可以破坏死锁的循环等待条件
IV.采用资源剥夺方法可以解除死锁,还可以采用撤销进程方法解除死锁
A.Ⅰ B.Ⅰ、Ⅱ C.Ⅰ、Ⅲ D.Ⅰ、Ⅱ、Ⅲ、Ⅳ
二、综合应用题
1、假设在一个处理机上执行5个作业,作业的到达时间和运行时间分别如表所示:
分别采用FCFS、SJF和HRRN算法,作业的执行顺序和平均周转时间是多少?
2、设系统中有三类资源A、B和C,5个进程P1,P2,P3,P4和P5,在T0时刻系统状态如下:(1)给出T0时刻各进程的资源需求量NEED。
(2)系统是否处于安全状态?如是,则给出进程安全序列。
(3)在T1时刻如果进程P2申请1个A类资源、1个B类资源,能否实施分配?为什么?