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

选择题
1.操作系统中的高级调度是指:A
A. 作业调度 B. 进程调度 C. 进程交换调度 D. 线程调度
2.作业经过下面哪一个过程进入“后备”状态?A
A. 作业创建 B. 作业调度 C. 进程调度 D. 作业终止
3.要求进程一次性申请所需的全部资源,是破坏了死锁必要条件中的哪一条?B
A. 互斥 B. 请求与保持 C. 不剥夺 D. 循环等待
4.使用“银行家算法”决定是否给进程分配资源,这种策略属于:B
A. 预防死锁 B. 避免死锁 C. 检测死锁 D. 解除死锁
5.对资源编号,要求进程按照序号顺序申请资源,是破坏了死锁必要条件中的哪一条?D
A. 互斥 B. 请求与保持 C. 不剥夺 D. 循环等待
6.通过破坏死锁必要条件之一来防止死锁产生,这种策略属于:A
A. 预防死锁 B. 避免死锁 C. 检测死锁 D. 解除死锁
7.当某个作业被作业调度程序选中,进入内存开始运行时,作业的状态为:D
A、提交状态 B、完成状态
C、执行状态 D、后备状态
8.死锁定理用于:A
A、预防死锁 B、解除死锁
C、避免死锁 D、检测死锁
9.进入输入井的作业其状态处于( D )
A、提交状态 B、完成状态
C、执行状态 D、后备状态
10.作业由后备状态转变为执行状态是通过以下那个调度程序实现的( A )
A、作业调度 B、进程调度
C、中级调度 D、驱臂调度
11.以下那种调度算法不可能是剥夺式的( A )
A、先来先服务 B、最短CPU执行期优先
C、最高优先权 D、轮转法
12.在UNIX系统中,用来实现进程换入换出的是( B )
A、0进程 B、1进程 C、kill系统调用 D、作业调度进程
13.可以破坏环路等待条件的策略是( C )
A、资源抢占 B、独享分配 C、按序分配 D、共享分配
14.在操作系统中用户进程本身启动的唯一状态转换是__B__。
A、调度 B、阻塞 C、时间片到 D、唤醒
15.把资源按类型排序编号,并要求进程严格按序申请资源,这种方法摒弃了下述哪一个(D)死锁发生条件?
A、互斥条件 B、部分分配条件 C、不剥夺条件 D、环路等待条件
16.以下哪种调度算法不可能是剥夺方式的?( A )
A、先来先服务 B、最短CPU执行期优先 C、最高优先权 D、轮转法

填空题
1.常用的多道处理系统的作业调度算法有 (先来先服务调度算法、 基于优先级的作业调度、分时与优先级结合的作业调度、 综合考虑资源要求的调度策略、 轮转法 )。
2.产生死锁的原因 (系统资源不足、进程推进顺序非法 )。
3.一个作业从提交开始到完成,往往要经历 (长程调度 、 短程调度 和中级调度三级调度)。
4.常用的单道批处理作业调度有 (短作业优先、最高响应比(优先) 和 先来先服务 )。
5.解决死锁问题常用的三种方法是 (死锁的预防 、 死锁的避免 和 死锁的检测与解除) 。

判断题
1.多用户实时操作系统一定采用剥夺调度方式。对
2.进程发出I/O请求后将被阻塞,直至I/O操作完成。对
3.死锁危害很大,操作系统要绝对防止死锁的发生。错
4.不安全状态是死锁状态。错
5.处于死锁的系统中,没有进程可再运行。错
6.最短CPU执行期优先算法一定是剥夺式的。 错
7.多级反馈队列属于非剥夺式调度。 错
8.最短CPU执行期优先算法(SCBF–Shortest CPU Burst First)一定是剥夺式的。错
9.一系统处于死锁状态则一定是不安全状态。对
10.作业A处于运行状态,作业A的进程一定处于执行状态。错
11.如果死锁的四个必要条件同时成立,则系统一定产生死锁。错
12.在分时系统中,时间片越小,一个作业的总运行时间越短。错
13.预防死锁可通过屏弃“互斥条件”实现。错
14.进程被创建后处于就绪状态。对
15.作业A处于运行状态,但作业A的进程B可能处于阻塞状态。对
16.当进程提出资源请求得不到满足时,系统必定发生死锁。错
17.当进程调度采用以下方案时,判断各语句的对错,对者在□中打“√“,错者在□中打“ד。
1)先来先服务调度:
(1)到达时间指进入内存时间。错
(2)进程获得CPU一直运行到完成或等待某事件才让出CPU。对
(3)有利于I/O忙的工作。对
2)短进程优先调度:
(1)用户满意度好。对对
(2)吞吐量好。对
(3)长进程运行机会少。对
3)多级反馈队列调度(就绪队列1、就绪队列2、`````````,优先级依次下降):
(1)各就绪对列的优先级依次下降,他们分得的时间片依次增加。对
(2)某就绪队列给予较大的时间片,是因为该队列的进程优先级高。错
(3)只有就绪队列1为空时,才去调度就绪对列2中的进程。对
(4)进入高优先级就绪队列的进程不能抢占低优先级对列进程的CPU。错
(5)长进程可能出现在各个就绪对列中。对
(6)为了保证响应时间,就绪对列1的时间片设置必须使得大部分终端命令在几个时间片内完成。错

简答题
1.进程调度的时机有哪些?
答:进程调度的时机主要有以下几种:正在执行的进程执行完毕或因发生某事件而不能再继续执行;执行中的进程因提出I/O请求而暂停执行;在进程通信或同步过程中执行了某种原语操作如P操作、阻塞、挂起原语等;在可剥夺式调度中,有比当前进程优先权更高的进程进入就绪队列;在时间片轮转法中,时间片完。
通常系统是按先来先服务或优先权形式来组织调度队列。
2.何为死锁?产生死锁的原因和必要条件是什么?
答:死锁是指多个进程的永久性阻塞现象,产生的原因主要有2个:进程间竞争资源;进程推进顺序非法。
产生死锁的四个必要条件:
(1)互斥条件:一个资源每次只能被一个进程使用。
(2)请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放。
(3)不剥夺条件:进程已获得的资源,在末使用完之前,不能强行剥夺。
(4)循环等待条件:若干进程之间形成一种头尾相接的循环等待资源关系。
这四个条件是死锁的必要条件,只要系统发生死锁,这些条件必然成立,而只要上述条件之一不满足,就不会发生死锁。
3.死锁排除的方法有哪些?
答:(1)撤消陷于死锁的全部进程;
(2)逐个撤消陷于死锁的进程,直到死锁不存在;
(3)从陷于死锁的进程中逐个强迫放弃所占用的资源,直至死锁消失;
(4)从另外一些进程那里强行剥夺足够数量的资源分配给死锁进程,以解除死锁状态。
4.Windows NT利用多线程可以更好地实现多任务。简略回答:什么是多任务?Windows NT实现这种技术的方法是什么?
答:Windows NT是Microsoft推出的面向工作站、网络服务器和大型计算机的网络操作系统,也可做PC操作系统。它与通信服务紧密集成,提供文件和打印服务,能运行客户机/服务器应用程序,内置了Internet/Intranet功能,是企业组网的标准平台。
多任务操作系统就是能同时运行多个任务的操作系统。Windows NT是一种抢先式的多任务系统。所谓抢先式多任务系统就是CPU时间被分为一个个时间片,调度器将时间片分给当前优先级最高的线程(thread ,一旦有更高优先级的线程就绪,就马上抢先正在运行的线程,如果有多个优先级相同的线程,调度器把它们排队,先执行队首的线程,执行过的则放到队尾。抢先多任务功能是由操作系统内部的调度器(scheduler)实现的。
基于优先级的进程、线程在Win32 API中,将进程分成四类:空闲进程、常规进程、高级进程和实时进程。1)空闲进程:这类进程的线程只有系统处于空闲状态时才运行,如屏幕保护线程。2)常规进程:一般进程都属于该类型。3)高级进程:指执行紧急任务的进程,如弹出Windows的任务列表窗口。4)实时进程:这类进程的线程可以抢占所有其它类型的线程,包括操作系统线程,例如,一个实时线程的执行可能会导致磁盘缓冲刷新或鼠标操作无效。Win32 API中,线程有32级优先级,其中1-15级是可变优先级线程,16-31级是实时线程(0级为系统保留),0级最低,31级最高,每个线程有一个基本优先级,它可以由程序改变。线程被调度时的优先级称为调度优先级,对于可变优先级线程,操作系统可以动态调整线程的调度优先级,调整范围最低为其基本优先级,最高为15级;而实时线程的调度优先级是不能被系统改变的。
5.引起进程调度的因素有哪些?
答:引起进程调度的因素主要有:
(1) 正在执行的进程执行完毕。这时如果不选择新的就绪进程执行,将浪费处理机资源。
(2) 进程在执行中调用阻塞原语将自己阻塞起来进入睡眠等待状态。
(3) 进程在执行中调用了P原语操作,从而因资源不足而被阻塞;或调用了V原语操作激活了等待资源的进程队列。
(4) 进程在执行中提出I/O请求后被阻塞。
(5) 在分时系统中时间片已经用完。
(6) 在执行完系统调用等系统程序后返回用户程序时,可看做系统进程执行完毕,从而调度选择一新的用户进程执行。
(7) 在CPU执行方式是可剥夺时,就绪队列中的某进程的优先级变得高于当前执行进程的优先级,从而也将引发进程调度。
6.为什么说多级反馈队列调度算法能较好地满足各类用户的需要?
答:对终端型作业用户,由于作业大都属于交互性,通常比较短小,系统只要使这些作业在第一队列所规定的时间片内完成,便能使用户满意。
对短批处理作业用户,他们的作业通常在第二、三队列各执行一次即可完成,其周转时间仍然较短。对长批处理作业用户,他们的作业在各个队列中依此运行,用户不必担心其作业长期得不到处理。
7.实时调度与非实时调度的主要区别是什么?
答:(1)实时调度所调度的任务有完成时限,而非实时调度没有。从而,实时调度算法的正确与否不仅与算法的逻辑有关,也与调度算法调度的时限有关。
(2)实时调度要求较快的进程或线程切换时间,而非实时调度的进程或线程的切换时间较长。
(3)非实时调度强调资源利用率(批处理系统)或用户共享处理机(分时系统),实时调度则主要强调在规定时限范围内完成对相应设备的控制。
(4)实时调度为抢先式调度,而非实时调度则很少采用抢先式调度。
8.分时系统中有作业调度的概念吗?如果没有,为什么?
答:在分时系统中,一般不存在作业调度,而只有线程调度、进程调度和交换调度。这是因为在分时系统中,为了缩短响应时间,作业不是建立在外存,而是直接建立在内存中。在分时系统中,一旦用户和系统的交互开始,用户马上要进行控制。因此,分时系统中没有作业提交状态和后备状态。分时系统的输入信息经过终端缓冲区为系统直接接收,或立即处理,或经交换调度暂存外存中。
9.某一系统分配资源的策略是:当进程提出申请资源时,只要系统有资源总是分配给它,系统无资源时让其等待。任一进程总是先释放已占有的资源后再申请新的资源,且每次申请一个资源,系统中的进程得到资源后总能在有限的时间内归还。证明该系统不会发生死锁。
证明:死锁的四个必要条件分别是:互斥、请求与保持、循环等待、非剥夺条件。
根据题目中的描述,任一进程总是先释放已占有的资源后再申请新的资源,且每次申请一个资源,系统中的进程得到资源后总能在有限的时间内归还。因此,四个必要条件中的“请求与保持条件”被破坏,所以死锁不会发生。
10.处理器调度的总体目标是什么?
答:处理器调度的总体目标是要达到极小化平均响应时间、极大化系统吞吐率、保持系统各个功能部件均处于繁忙状态和提供某种貌似公平的机制。
极小化平均响应时间就是要极小化用户发出命令和看到结果之间所花费的时间;极大化系统吞吐率就是在单位时间内完成尽可能多的程序;保持系统各个功能部件均处于繁忙状态就是要让CPU和输入输出设备均处于忙碌状态;而公平是任何系统都应该努力达到的目标。
对于不同的系统,在调度目标上是有细微的区别的。批处理系统追求系统吞吐率和CPU的利用率,不太重视系统响应时间;而交互式系统对系统响应时间要求严格。
11.何谓优先级倒挂?如何解决优先级倒挂问题?
答:优先级倒挂是指一个低优先级任务持有一个被高优先级认为所需要的共享资源。这样高优先级任务因缺乏资源而处于阻塞状态,一直到低优先级任务释放资源为止。优先级倒挂可能造成系统故障,或激发事先定义的纠正措施,如美国的火星探路器Mars Pathfinder就是因为优先级倒挂而出现故障。
优先级倒挂问题在20世纪70年代就已经被发现,但一直未找到一个可以预测其发生的方法,只能通过一些手段来防止其发生。主要有:使用中断禁止;优先级上限;优先级继承。

  • 24
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值