一、单选题
1、进程调度又称低级调度,其主要功能是( D )。
A.选择一个作业调入内存
B.选择一个主存中的进程调出到外存
C.选择一个外存中的进程调入到主存
D.将一个就绪的进程投入到运行
2、若进程P一旦被唤醒就能够投入运行,系统可能为( D )。
A.分时系统,进程P的优先级最高
B.抢占调度方式,就绪队列上的所有进程的优先级皆比P的低
C.就绪队列为空队列
D.抢占调度方式,P的优先级高于当前运行的进程。
3、一个进程P被唤醒后,( D )。
A.P就占有了CPU
B.P的PCB被移到就绪队列的队首。
C.P的优先级肯定最高
D.P的状态变成就绪
4、若当前运行进程( C )后,系统将会执行进程调度原语。
A.执行了一个转移指令
B.要求增加主存空间,经系统调用银行家算法进行测算认为是安全的。
C.执行了一条I/O指令要求输入数据。
D. 执行程序期间发生了I/O完成中断。
5、当系统中( C ) 时,系统将不会执行进程调度原语。
A.一个新进程被创建
B.当前进程执行了P操作
C.在非抢占调度中,进程A正在运行而进程B恰好被唤醒
D.分时系统中时间片用完。
6、在分时系统中,若当前运行的进程连续获得了两个时间片,原因可能是( B )。
A.该进程的优先级最高
B.就绪队列为空
C.该进程最早进入就绪队列
D.该进程是一个短进程
7、实时系统中采用的调度算法可以是如下的
1.非抢占优先权调度算法
2.立即抢占优先权调度算法
3.时间片轮转调度算法
4.基于时钟中断抢占的优先权调度算法
按实时要求的严格程度由低到高的顺序是( D )。
A.1-3-2-4
B.3-1-4-2
C.3-1-2-4
D.1-3-4-2
8、3种基本类型的OS 中都必须配置的调度是( C )。
A.作业调度
B.中级调度
C.低级调度
D.I/O调度
9、设系统中n 个进程并发,共同竞争资源X,且每个进程都需要m个X资源,为使该系统不会发生死锁,资源X最少要有( C )个。
A.m
n+1
B.n
m+n
C.n*m+1-n
D.无法预计
10、死锁的预防方法中,不太可能的一种方法是( A )。
A.摈弃互斥条件
B.摈弃请求和保持条件
C.摈弃不剥夺条件
D.摈弃环路等待条件
11、某系统采用了银行家算法,则下列叙述正确的使( B )
A.系统处于不安全状态时一定会发生死锁
B.系统处于不安全状态时可能会发生死锁
C.系统处于安全状态时可能会发生死锁
D.系统处于安全状态时一定会发生死锁
12、下列进程调度算法中,( A )可能会出现进程长期得不到调度的情况。
A.静态优先权法
B.抢占式调度中采用动态优先权调度
C.分时处理中的时间片轮转调度算法
D.非抢占调度中采用FIFO算法
13、采用动态优先权的调度算法中,如果所有的进程都具有相同优先权初值,则此时的优先权调度算法实际上和( A )相同。
A.先来先服务调度算法
B.短作业优先调度算法
C.时间片轮转调度算法
D.长作业优先调度算法
14、为多道程序提供的可共享资源不足时,可能出现死锁。但是,不适当的( C )也可能产生死锁。
A.进程优先权
B.资源的线性分配
C. 进程推进顺序
D.分配队列优先权
15、在分时操作系统中,进程调度经常采用( C )算法。
A.先来先服务
B.最高优先权
C.时间片轮转
D.随机
16、资源的按序分配策略可以破坏( D )条件。
A.互斥使用资源
B.占有且等待资源
C.不可剥夺资源
D.环路等待资源
17、银行家算法在解决死锁问题中是用于( B )的。
A.预防死锁
B.避免死锁
C.检测死锁
D.解除死锁
18、( B )优先权是在创建了进程时确定的,确定之后在整个运行期间不再改变。
A.先来先服务
B.静态
C.动态
D.短作业
19、在下列解决死锁的方法中,属于预防策略的是( B )。
A.银行家算法
B.有序资源分配法
C.死锁检测法
D.安全性算法
20、( D )算法不适合作业调度。
A.先来先服务
B.短作业优先
C.最高优先权优先
D.时间片轮转
二、判断题
1、进程调度算法各种各样,但是如果选择不当,就会造成死锁。( × )
2、优先权调度算法中,在考虑静态优先权时,一般计算进程的优先权高于磁盘I/O进程的优先权。( × )
3、安全状态是没有死锁的状态,非安全状态是有死锁的状态。( × )
4、安全状态是可能有死锁的状态,非安全状态也是可能有死锁的状态。( × )
5、安全状态是可能没有死锁的状态,非安全状态是有死锁的状态。( × )
6、安全状态是没有死锁的状态,非安全状态是可能有死锁的状态。( √ )
三、填空题
1、在时间片轮转算法中,时间片的大小对系统性能有很大影响,如果时间片太大,并大到一定程度时,时间片轮转调度算法遍退化为(先来先服务)
2、进程的调度方式有两种,一种是 (非抢占式);另一种是 (抢占式)
3、死锁产生的4个必要条件是 (互斥)、(不剥夺) 、(请求和保持)、(环路等待)
4、银行家算法中,当一个进程提出的资源请求将导致系统从(安全状态)进入(不安全状态)时,系统就会拒绝它的资源请求。
5、产生死锁的根本原因是(可共享资源不足),另一个基本原因是 (进程的推进顺序不当)
6、在面向用户的调度准则中,(截止时间的保证) 是实时调度算法的重要准则,(响应时间快)是分时系统中进程调度算法的重要准则, (平均周转时间短)是批处理系统中选择作业调度算法的重要准则。
7、我们如果为每一作业只建立一个进程,则为了照顾短作业用户,应采用(短作业优先调度算法);为了照顾紧急作业的用户,应采用(基于优先权的可抢占式调度算法);为能实现人机交互作用应采用(时间片轮转法调度算法);为了兼顾短作业和长时等待的作业,应采用(高响应比优先调度算法);为了使短作业、长作业及交互作业用户都比较满意,应采用(多级反馈队列调度算法);为了使作业的平均周转时间最短,应采用(短作业优先调度算法)。
四、简答题
1、在选择调度方式和调度算法时,应遵循的原则时什么?
面向用户的准则——公平性
(1) 作业周转时间短(批处理系统)
(2) 响应时间快(分时系统)
(3) 截止时间的保证(实时系统)
(4) 优先权准则(策略强制执行)
面向系统的准则——系统的性能
(1)资源利用率好
(2)系统吞吐量高
(3)各类资源的平衡利用
2、为什说多级反馈调度算法能较好地满足各方面用户的需要?
多级反馈队列调度算法能较好地满足各种类型用户的需要。
对终端型作业用户而言,由于他们所提交的大多属于交互型作业,作业通常比较短小,系统只要能使这些作业在第1级队列所规定的时间片内完成,便可使终端型作业用户感到满意;
对于短批处理作业用户而言,他们的作业开始时像终端型作业一样,如果仅在第1级队列中执行一个时间片即可完成,便可以获得与终端型作业一样的响应时间,对于稍长的作业,通常也只需要在第2级队列和第3级队列中各执行一个时间片即可完成,其周转时间仍然较短;
对于长批处理作业用户而言,它们的长作业将依次在第1,2,…,直到第n级队列中运行,然后再按时间片轮转方式运行,用户不必担心其作业长期得不到处理。
3、何谓死锁?产生死锁的原因和必要条件是什么?
(1)死锁:各并发进程彼此互相等待对方所拥有的资源,且这些并发进程在得到对方的资源之前不会释放自己所拥有的资源。从而造成系统中一些进程处于无休止的等待状态,在无外力作用的情况下,这些进程永远也不能继续前进。我们称这种现象为死锁。
(2)产生的根本原因是系统能够提供的资源数少于需要该资源的进程数(系统资源不足)。具体包括进程推进顺序非法、对资源的分配策略(请求顺序)不当
(3)死锁存在的必要条件
1)互斥条件
2)不可剥夺条件
3)占有且等待条件
4)环路条件
4、高级调度与低级调度的主要任务是什么?为什么要引入中级调度?
高级调度的主要任务是根据某种算法,把外存中那些处于后备队列中的那些作业调入内存,并为它们创建进程,分配必要的资源。低级调度的主要任务是决定就绪队列的进程中哪个获得处理机,然后再有分派程序执行把处理机分配给该进程的具体操作。引入中级调度是为了提高内存利用率和系统吞吐量。
五、应用题
1、有5个任务A、B、C、D、E,它们几乎同时先后达到,预计它们运行的时间为10、6、2、4、8min。其优先级分别为3、5、2、1、4,这里5为最高优先级。对下列每一种调度算法,计算其平均进程周转时间(进程切换开销可不考虑)。
1)先来先服务算法。
按A B C D E的顺序
所以平均周转时间:T=10+(10+6)+(10+6+2)+(10+6+2+4)+(10+6+2+4+8)/5=19.2
2)优先级调度算法。(非抢占式)
按优先级从高到低,即B E A C D
所以平均周转时间:T=(6+(6+8)+(6+8+10)+(6+8+10+2)+(6+8+10+2+4))/5=20
3)时间片轮转调度算法。(时间片2min)
各任务的执行情况是:(A,B,C,D,E),(A,B,D,E),(A,B,E),(A,E),(A),
则各进程的周转时间分别为:TA=30min,TB=22min,TC=6min,TD=16min,TE=28min,
所以平均周转时间:T=(30+22+6+16+28)/5=20.4min
4)短进程优先调度算法
按运行时间最短的顺序算,即C D B E A
所以平均周转时间:T=2+(2+4)+(2+4+6)+(2+4+6+8)+(2+4+6+8+10)/5=14
2、假设一个系统中有5个进程,它们的到达时间和服务时间如下表所示,忽略I/O以及其他开销时间,若分别按先来先服务,短进程优先,高响应比优先调度算法进行CPU调度,请给出各进程的完成时间、周转时间、带权周转时间、平均周转时间和平均带权周转时间。