操作系统练习题及答案——第三章 处理机调度与死锁(CPU调度)

计算机操作系统第三章练习题

一、选择题
1、在为多道程序所提供的可共享的系统资源不足时,可能出现死锁。但是,不适当的( A )也可能产生死锁。
A. 进程推进顺序 B. 进程优先权
C. 分配队列优先权 D. 资源的线性分配
2、采用资源剥夺法可解除死锁,还可以采用( D )方法解除死锁。
A. 执行并行操作 B. 修改信号量
C. 拒绝分配新资源 D. 撤消进程
3、产生死锁的四个必要条件是:互斥、( B )、循环等待和不剥夺。
A. 请求与释放 B. 请求与保持 C. 请求与阻塞 D. 释放与阻塞
4、发生死锁的必要条件有四个,要防止死锁的发生,可以破坏这四个必要条件,但破坏( D )条件是不太实际的。
A. 不可抢占 B. 部分分配 C. 循环等待 D. 互斥
5、在分时操作系统中,进程调度经常采用( B )算法。
A. 先来先服务 B. 时间片轮转 C. 最高优先权 D. 随机
6、资源的按序分配策略可以破坏( D )的条件。
A. 互斥使用资源 B. 非抢夺资源
C. 占有且等待资源 D. 环路等待资源
7、银行家算法是一种( B )算法。
A. 死锁解除 B. 死锁避免 C. 死锁检测 D. 死锁预防
8、( C )优先权是在创建进程时确定的,确定之后在整个进程运行期间不再改变。
A. 短作业 B. 先来先服务 C. 静态 D. 动态
9、系统中有3个并发进程,都需要同类资源4个,试问该系统不会发生死锁的最少资源数是( D )。
A. 12 B. 11 C. 9 D. 10
10 、在下列解决死锁的方法中,属于死锁预防策略的是( A )。
A. 资源有序分配法 B. 死锁检测法
C. 银行家算法 D. 资源分配图化简法
11、( C )是作业存在的惟一标志。
A. 进程控制块 B. 程序名 C. 作业控制块 D. 作业名
12、三个进程A、B、C对某类资源的需求分别是7个、8个、3个。且目前已分别得到了3个、3个和2个资源,若系统还至少能提供( C )个资源,则系统是安全的。
A. 1 B. 5 C. 2 D. 10
13、系统中有某类资源12个供若干进程共享,若每个进程申请的资源量不超过4个,则最多允许( D )个进程共享资源就可以保证系统是安全的。
A. 12 B. 5 C. 4 D. 3
14、在各种作业调度算法中,若所有作业同时到达,则平均等待时间最短的算法是( B )。
A. 先来先服务 B. 短作业优先 C. 最高响应比优先 D. 优先数
15、既考虑作业等待时间,又考虑作业执行时间的调度算法是( A )。
A. 响应比高者优先 B. 先来先服务
C. 短作业优先 D. 优先级调度
16、( C )是指从作业提交给系统到作业完成的时间间隔。
A. 等待时间 B. 运行时间 C. 周转时间 D. 响应时间
17、下述作业调度算法中,( C )调度算法与作业的估计运行时间有关。
A. 先来先服务 B. 时间片轮转 C. 短作业优先 D. 均衡
18、当前运行的进程( A),将引发系统进行进程调度。
A. 执行了一条I/O指令
B. 执行程序期间发生了I/O完成中断
C. 执行了一条转移指令
D. 要求增加主存空间,经系统调用银行家算法进行测算认为是安全的
19、分时系统中的当前运行进程连续获得了两个时间片,原因可能是( A )。
A. 就绪队列为空 B. 该进程是一个短进程
C. 该进程的优先级最高 D. 该进程最早进入就绪队列
20、进程调度又称为低级调度.其主要功能是( C )。
A. 选择一个外存中的进程调入到主存
B. 选择一个主存中的进程调出到外存
C. 将一个就绪的进程投入运行
D. 选择一个作业调人内存
21、若进程P一旦被唤醒就能够投入运行,系统可能为( B )。
A. 就绪队列为空队列
B. 在抢占调度方式中,P的优先级高于当前运行的进程
C. 进程P的优先级最高
D. 在抢占调度方式中,就绪队列中所有进程的优先级皆比P的低
22、下列进程调度算法中,( A )可能会出现进程长期得不到调度的情况。
A. 非抢占式静态优先权法 B. 时间片轮转调度算法
C. 非抢占式动态优先权法 D. 抢占式静态优先权法
23、如果发现系统有( B )的进程队列就说明系统有可能发生死锁了。
A. 可剥夺 B. 循环等待 C. 同步 D. 互斥
24、设系统中有N(N>2)个进程,则系统中最不可能的是有( A )个进程处于死锁状态。
A. 1 B. 2 C. 0 D. M(2<=N)
25、两个进程争夺同一个资源( D )。
A. 以上说法都不对 B. 一定死锁
C. 不死锁 D. 不一定死锁
26、在下列叙述中,错误的一条是(D )。
A. 设备独立性是指用户在编程时,程序中所使用的设备与实际设备无关
B. 进程的互斥和同步都能用P/V原语实现
C. 用户程序中执行系统调用命令时,处理机的状态字将发生改变
D. 进程被撤销时,只需释放该进程的PCB就可以了,因为PCB是进程存在的唯一标志
二、填空题
1、低级调度也称为( 进程)调度,常采用( 抢占 )和( 非抢占 )两种调度方式。
2、如果要求所有进程一次性申请它所需要的全部资源。若系统有足够的资源分配给进程,便一次把所有的资源分配给该进程。但在分配时只要有一种资源要求不能满足,则资源全不分配,进程等待。这种死锁预防方法破坏了死锁产生必要条件中的(请求与保持 )条件。
3、进程调度算法采用时间片轮转法时,时间片过大,就会使轮转法变化为(FCFSI先来先服务 )调度算法。
4、采用有序分配策略可以防止死锁,但是实现该策略时最大的困难是(如何确定资源的编号 )。
5、操作系统中解决死锁问题的方法有3种,即( 死锁预防 ),( 死锁避免 )和 ( 死锁解除 )。
6、引入中级调度的目的是提高( 内存利用率 )和 ( 系统吞吐量 ) 。
答案:内存利用率, 系统吞吐量
7、在 (FCFSI先来先服务 )调度算法中,按照进程进入就绪队列的先后次序来分配处理机。
8、对待死锁,一般应考虑死锁的预防、避免、检测和解除四个问题。典型的银行家算法是属于( 避免 ),破坏环路等待条件是属于( 预防 ),而剥夺资源是( 解除 )的基本方法。
9、银行家算法中,当一个进程提出的资源请求将导致系统从( 安全状态 )进入 (不安全状态 )时,系统就拒绝它的资源请求。
10、死锁是指在系统中的多个( 进程 )无限期地等待永远不会发生的条件。
11、作业调度又称( 高级
调度 )。其主要功能是( 接纳作业 ),并为作业做好运行前的准备工作和作业完成后的善后处理工作。
三、判断题(回答“是”或“非”)
1、资源要求多的作业,其优先权应高于资源要求少的作业。非
2、安全状态是没有死锁的状态,非安全状态是有可能死锁的状态。是
3、当检测出发生死锁时,可以通过撤消一个进程解除死锁。非
4、在动态优先权时,随着进程执行时间的增加,其优先权降低。是
5、以优先级为基础的进程调度算法可以保证在任何时候正在运行的进程总是所有就绪进程中优先级最高的进程。非
6、实时系统中的优先级倒置是指高优先级进程被低优先级进程延迟或阻塞。是
7、长作业的优先权,应高于短作业的优先权。非
8、在动态优先权中,随着作业等待时间的增加,其优先权将随之增加。是
9、计算型作业的优先权,应高于I/O型作业的优先权。非
10、实时系统中的优先级导致问题是指优先数越大优先权越低。非
11、根据死锁定理,一个状态为死锁状态的充分条件是当且仅当该状态的资源分配图是不可完全简化时。是
12、安全状态是可能有死锁的状态,非安全状态也可能有死锁的状态。非
13、用户进行的优先权,应高于系统进程的优先权。非
14、在多道程序环境中,不会因为竞争可抢占性资源而产生死锁。是
四、简答题
1、什么是死锁?
线程死锁是指由于两个或者多个线程互相持有对方所需要的资源,导致这些线程处于等待状态,无法前往执行。当线程进入对象的synchronized代码块时,便占有了资源,直到它退出该代码块或者调用wait方法,才释放资源,在此期间,其他线程将不能进入该代码块。当线程互相持有对方所需要的资源时,会互相等待对方释放资源,如果线程都不主动释放所占有的资源,将产生死锁
2、引起进程调度的因素有哪些?
(1)正在执行的进程执行完毕。这时,如果不选择新的就绪进程执行,将浪费处理机资源。
  (2)执行中进程自己调用阻塞原语将自己阻塞起来进入睡眠等状态。
  (3)执行中进程调用了P原语操作,从而因资源不足而被阻塞;或调用了v原语操作激活了等待资源的进程队列。
  (4)执行中进程提出I/O请求后被阻塞。
  (5)在分时系统中时间片已经用完。
  (6)在执行完系统调用等系统程序后返回用户进程时,这时可看作系统进程执行完毕,从而可调度选择一新的用户进程执行。
  (7)就绪队列中的某进程的优先级变得高于当前执行进程的优先级,从而也将引发进程调度。

3、产生死锁的原因和必要条件是什么?
因竞争资源发生死锁 现象:系统中供多个进程共享的资源的数目不足以满足全部进程的需要时,就会引起对诸资源的竞争而发生死锁现象
产生死锁的四个必要条件
互斥条件
请求和保持条件
不可剥夺条件
循环等待条件
4、说明解决死锁问题可以通过哪些方法。
1.破坏“请求和保持”条件
2.破坏“不可抢占条件“
3.破坏“循环等待”进程
五、应用题
1、假设一个系统中有5个作业A,B,C,D,E,他们的提交时间、运行时间和优先数如下表所示。忽略I/O以及其他开销时间,若分别采用先来先服务,短作业优先调度算法进行CPU调度,请给出各作业的完成时间、周转时间、带权周转时间、平均周转时间和平均带权周转时间。
作业 提交时间 运行时间 优先数
A 0 3 3
B 2 8 5
C 3 6 2
D 5 5 1
E 8 4 4
进程的执行时间+每个进程的等待时间
①优先级调度:B,E,A,D,C,周转时间=7+4+2+6+5+4+9+16+22+24=99,平均周转时间=99/5=19.8
②最短进程优先调度:C,B,E,D,A,周转时间=7+4+2+6+5+2+6+11+17+24=84,平均周转时间=84/5=16.8
2、设系统有4种类型的资源,现在有5个进程P1、P2、P3、P4、P5,在T0时刻系统状态图如下表所示。若系统采用银行家算法,实施死锁避免策略。问:
(1)T0时刻是否为安全状态?若是,给出安全序列。
(2)在T0时刻,若进程P2请求资源(2,0,1,3),能否实施资源分配?为什么?
资源
进程 Allocation Need Available
A B C D
A B C D A B C D
P1 3 2 0 0 1 2 0 0 2 2 1 6
P2 0 0 1 0 5 0 1 7
P3 5 4 1 3 5 6 2 3
P4 3 2 0 3 5 2 0 0
P5 1 4 0 0 5 6 0 6

(1)是,P1》P4》P5》P2》P3
(2)requestij2213《=need5017不符合 认为出错 因为它所需要的资源数超过它所宣布的最大值

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章