操作系统课后答案——第三章

合集下载

计算机操作系统(第四版)课后习题答案第三章,精品资料

计算机操作系统(第四版)课后习题答案第三章,精品资料

第三章处理机调度与死锁1,高级调度与低级调度的主要任务是什么?为什么要引入中级调度?【解】(1)高级调度主要任务是用于决定把外存上处于后备队列中的那些作业调入内存,并为它们创建进程,分配必要的资源,然后再将新创建的进程排在就绪队列上,准备执行。

(2)低级调度主要任务是决定就绪队列中的哪个进程将获得处理机,然后由分派程序执行把处理机分配给该进程的操作。

(3)引入中级调度的主要目的是为了提高内存的利用率和系统吞吐量。

为此,应使那些暂时不能运行的进程不再占用宝贵的内存空间,而将它们调至外存上去等待,称此时的进程状态为就绪驻外存状态或挂起状态。

当这些进程重又具备运行条件,且内存又稍有空闲时,由中级调度决定,将外存上的那些重又具备运行条件的就绪进程重新调入内存,并修改其状态为就绪状态,挂在就绪队列上,等待进程调度。

3、何谓作业、作业步和作业流?【解】作业包含通常的程序和数据,还配有作业说明书。

系统根据该说明书对程序的运行进行控制。

批处理系统中是以作业为基本单位从外存调入内存。

作业步是指每个作业运行期间都必须经过若干个相对独立相互关联的顺序加工的步骤。

作业流是指若干个作业进入系统后依次存放在外存上形成的输入作业流;在操作系统的控制下,逐个作业进程处理,于是形成了处理作业流。

4、在什么情冴下需要使用作业控制块JCB?其中包含了哪些内容?【解】每当作业进入系统时,系统便为每个作业建立一个作业控制块JCB,根据作业类型将它插入到相应的后备队列中。

JCB 包含的内容通常有:1) 作业标识2)用户名称3)用户账户4)作业类型(CPU 繁忙型、I/O芳名型、批量型、终端型)5)作业状态6)调度信息(优先级、作业已运行)7)资源要求8)进入系统时间9) 开始处理时间10) 作业完成时间11) 作业退出时间12) 资源使用情况等5.在作业调度中应如何确定接纳多少个作业和接纳哪些作业?【解】作业调度每次接纳进入内存的作业数,取决于多道程序度。

操作系统第3章习题-答案

操作系统第3章习题-答案

第3章调度与死锁一、单项选择题1. 在为多道程序所提供的可共享的系统资源不足时,可能出现死锁。

但是,不适当的______也可能产生死锁。

A. 进程优先权B. 资源的线性分配 =C. 进程推进顺序D. 分配队列优先权2. 采用资源剥夺法可解除死锁,还可以采用_____方法解除死锁。

A. 执行并行操作=B. 撤消进程C. 拒绝分配新资源D. 修改信号量3. 产生死锁的四个必要条件是:互斥、________、循环等待和不剥夺。

A. 请求与阻塞=B. 请求与保持C. 请求与释放D. 释放与阻塞4. 发生死锁的必要条件有四个,要防止死锁的发生,可以破坏这四个必要条件,但破坏________条件是不太实际的。

=A. 互斥 B. 不可抢占 C. 部分分配 D. 循环等待5. 在分时操作系统中,进程调度经常采用________算法。

A. 先来先服务B. 最高优先权 =C. 时间片轮转D. 随机6. 资源的按序分配策略可以破坏________条件。

A. 互斥使用资源B. 占有且等待资源C. 非抢夺资源=D. 环路等待资源7. 银行家算法是一种________算法。

A. 死锁解除=B. 死锁避免C. 死锁预防D. 死锁检测8. ________优先权是在创建进程时确定的,确定之后在整个进程运行期间不再改变。

A. 先来先服务 =B. 静态C. 动态D. 短作业9. 某系统中有3个并发进程,都需要同类资源4个,试问该系统不会发生死锁的最少资源数是________。

A. 9 =B. 10C. 11D. 1210. 以优先级为基础的进程调度算法可以保证在任何时候正在运行的进程总是诸就绪进程中优先级最高的进程。

上述描述是________。

A. 正确的=B. 错误的11. 当检测出发生死锁时,可以通过撤消一个进程解除死锁。

上述描述是________。

A. 正确的=B. 错误的12. 在下列解决死锁的方法中,属于死锁预防策略的是____。

计算机操作系统三章习题答案

计算机操作系统三章习题答案

第三章处理机调度与死锁``030110011020101进程调度是从选择一个进程投入运行。

A.就绪队列B.等待队列C.作业后备队列D.提交队列``030110011020100A``030110022020101支持多道程序设计的操作系统在运行过程中,不断地选择新进程运行来实现CPU的共享,下列选项中,不是引起操作系统选择新进程的直接原因。

A.运行进程的时间片用完B.运行进程出错C.运行进程要等待某一时件发生D.有新进程进入就绪状态``030110022020100D``030110032020101下列因素中,不一定是引起进程调度的因素。

A.一个进程运行完毕B.运行进程被阻塞C.一个高优先级进程被创建D.实时调度中,一个紧迫的任务到来``030110032020100C``030110042020101若进程P一旦被唤醒就能投入运行,则系统可能是。

A.非抢占式调度方式,进程P的优先级最高B.抢占式调度方式,就绪队列上的所有进程的优先级皆比P低C.就绪队列为空队列D.抢占式调度方式,P的优先级高于当前运行的进程``030110042020100D``030110051020101在批处理系统中,周转时间是指。

A.作业运行时间B.作业等待时间和运行时间之和C.作业的相对等待时间D.作业被调度进入内存到运行完毕的时间``030110051020100B``030110062020101下列各项中,不是进程调度时机的是。

A.现运行的进程正常结束或异常结束B.现运行的进程从运行态进入就绪态C.现运行的进程从运行态进入等待态D.有一进程从等待态进入就绪态``030110062020100D``030210012020201现有3个同时到达的作业J1、J2、J3,它们的执行时间分别为T1、T2和T3,且T1<T2<T3。

系统按单道方式运行且采用短作业优先算法,则平均周转时间为。

A.T1+T2+T3 B.(T1+T2+T3)/3 C.(3T1+2T2+T3)/3D.(T1+2T2+3T3)/3``030210012020200C``030210022020101下列算法中,操作系统用于作业调度的算法是。

操作系统第3章习题答案

操作系统第3章习题答案

第三章习题:P117
25.答:c=10, a=13, b=6
28.答:设置同步信号量
S1: 传送带是否有空位; S2: 传送带上是否有产品; S3: 是否有称过重的产品 检验员进程T1: 计量员进程T2 分拣员进程T3 While(True) {
查看产品质量 if(合格) {P(S1)
放在传送带上 V(S2)} Else 销毁
}
while(True) { P(S2)
称重并记录 V(S1) V(S3) }
While(True) { P(S3) 包装 }
29.答: 首先设置同步信号量(私有信号量),设:
Mi(i=0,1,2,3)表示第i 个箱子中的消息数,初值分别为2,0,0,0 Ei(i=0,1,2,3)表示第i 个箱子中的空格数,初值分别为1,3,2,2
31答:
1)编写一个程序,每一个读者就是一个进程,因此有多少读者就有多少进程。

进程是程序的一次执行,进程是动态的,程序是静态的,进程有生命期,程序没有,进程可以并发执行。

2)设置信号量:
公有信号量R用于登记表的互斥操作,初值为1;
私有信号量S用于读者之间的同步操作,初值为1000;。

操作系统第二版第三章课后习题答案

操作系统第二版第三章课后习题答案

第三章死锁作业答案1,3,9,11,13,14, 161.什么是死锁?试举出一个生活中发生死锁的例子。

参考答案:所谓死锁,是指在一个进程集合中的每个进程都在等待仅由该集合中的另一个进程才能引发的事件而无限期地僵持下去的局面。

(也可以是:多个进程因竞争资源而造成的一种僵局,若无外力作用这些进程都将永远不能再向前推进。

)举例:1)书中例子“两辆汽车过窄桥发生冲突”2)公共汽车到站,车上的人要下车,车下的人要上车,挤在车门口。

结果是车上的人下不来,车下的人上不去。

3. 发生死锁的四个必要条件是什么?参考答案:发生死锁的四个必要条件是:互斥条件、占有且等待条件、不可抢占条件和循环等待条件。

9. 设想有一条带闸门的运河,其上有两座吊桥,它们在一条公路上,运河和公路的交通都是单方向的。

河上的交通工具是轮船。

当轮船距A桥100m时就鸣笛警告,若桥上无车辆,吊桥就吊起,直至轮船尾部过桥为止。

对吊桥B也做同样处理。

设轮船的长度为200m。

车辆和轮船任意前进时,是否会发生死锁?若会,说明理由。

怎样发现?并请提出一种防止死锁的办法。

参考答案:会产生死锁。

当轮船距A桥100m时鸣笛警告,此时若桥上无车辆,吊桥就吊起,但是B桥上有车辆,而且由于A桥吊起,车辆无法前进,B桥上的车辆无法下桥。

于是,轮船和车辆都不能前进,造成死锁现象。

一种防止死锁的办法是:当轮船距A桥100m时就鸣笛警告,车辆不能再上B桥。

当B桥上无车辆时,就吊起B 桥;然后,当A桥上无车辆,则吊起A桥。

轮船通过A桥和B桥后,两个吊桥放下,车辆可以通行。

(该方法相当于资源有序分配,也可以采用资源预分配策略,即同时吊起A、B两桥的方法,资源利用率相对较低。

)11. 死锁和“饥饿”之间的主要差别是什么?参考答案:①处于死锁状态的进程都占有一定的资源,而处于饥饿状态的进程永远都得不到所申请的资源②死锁是一种僵局,在无外力干预下,处于死锁状态的全部进程都不能前进,即它们都处于阻塞态,可能造成整个系统瘫痪;而出现饥饿时系统照常运行,只是某个或某几个进程永远也不能得到所需的全部服务③造成死锁的根本原因是资源有限且使用不当;而造成饥饿的原因是资源分配策略或调度策略不合适,如果采用先来先服务的资源分配策略就可以避免饥饿。

计算机操作系统第三章答案

计算机操作系统第三章答案

第三章处理机调度与死锁一、单项选择题K操作系统中的作业管理是一种(A )oA.宏观的高级管理B.宏观的低级管理C.系统刚开始加电D.初始化引导完成2、作业调度又称为[1A],它决定将哪些在外存储器上的处于[2D]状态的作业调入主机内存。

系统经作业调度程序选中一个或多个作业后,就为它们分配必要的内存、设备及软资源。

然后控制权就交给了 [3B],由 [3]将它们变为一个或一组[4C],并[5A]。

供选择的答案:[11: A、高级调度B、低级调度C、中级调度D、进程调度[2]: A、就绪B、阻塞C、提交D、后备[3]: A、存储管理模块B、处理机管理模块C、文件管理模块D、设备管理模块[4]: A、指令B、子程序C、进程D、程序段⑸:A、把它们挂到就绪队列上B、为它们分配处理机C、把它们挂到后备队列上D、为它们分配设备)中。

A、处于后备状态的作业存放在(3.A•外存B.内存和B D.扩展内存4、在操作系统中,JCB是指(A )oA.作业控制块B.进程控制块C.文件控制块D.程序控制块5、作业在系统中存在与否的唯一标志是(C)。

A.源程序B.作业说明书C.作业控制块D.目的程序6、按照作业到达的先后次序调度作业,排队等待时间最长的作业被优先调度,这是指(A)调度算法。

A.先来先服务法B.短作业优先法C.时间片轮转法D.优先级法7、在批处理系统中,周转时间是(B )oA.作业运行时间B.作业等待时间和运行时间之和C.作业的相对等待时间D.作业被调度进入内存到运行完毕的时间8、为了对紧急进程或重要进程进行调度,调度算法应采用(B)oA.先来先服务法B.优先级法C.短作业优先法D.时间片轮转法9、操作系统中,(A)负责对进程进行调度。

A.处理机管理B.作业管理C.高级调度管理D.存储和设备管理.10、如果系统中所有作业是同时到达的,则使作业平均周转时间最短的作业调度算法是短作业优先调度算法。

1K系统出现死锁的原因是(C )oA.计算机系统发生了重大故障B.有多个封锁的进程同时存在C.若干进程因竞争资源而无休止地等待着,不释放已占有的资源D.资源数大大少于进程数,或进程同时申请的资源数大大超过资源总数12、设系统中有n个进程并发,共同竞争资源X,且每个进程都需要m个X资源,为使该系统不会发生死锁,资源x至少要有(C)(A) n*m+1 (B) n*m+n (C) n*m+1 -n (D)无法预计 13、选出不正确的两条叙述(BE)OA、死锁是指因相互竞争资源使得系统中有多个阻塞进程的情况;B、若系统中并发运行的进程和资源之间满足互斥条件、占有且申请、不可抢占和环路条件,则可判定系统中发生了死锁;C、在对付死锁的策略中,解除死锁通常都是和检测死锁配套使用;D、产生死锁的原因可归结为竞争资源和进程推进顺序不当;E、在死锁的解决方法中,由于避免死锁采用静态分配资源所以对资源的利用率不高14、死锁预防是保证系统不进入死锁状态的静态策略,其解决方法是破坏产生死锁的四个必要条件之一。

操作系统第3章参考答案

操作系统第3章参考答案

第3章作业参考答案1、高级调度的任务是:将外存上处于后备队列的作业调入内存,并为他们创建必要的进程与分配资源。

然后将进程插入就绪队列中。

高级调度主要涉及两个问题:(1)每次调度多少个作业进入内存,(2)怎样选择作业(怎样调度)。

低级调度的任务是:指决定就绪队列中哪些进程应获得处理机。

这是OS的核心调度,所有操作系统都必须有这种调度。

通常采用两方式—非强占方式与强占方式。

在一个OS中如何选择方式与调度算法,在很大程度上取决于OS的目标。

但总体而言可分为两类—面向用户与面向系统的原则面向用户的原则:主要考虑用户的需求,如周转时间、响应时间、截止时间、优先权原则。

面向系统的原则:主要考虑系统的需求,如系统的吞吐量、处理机利用率、各类资源的平均利用率等注(周转时间:周转时间是衡量批处理系统的调度算法的重要指标。

周转时间:指作业从提交开始到完成所需要的时间。

包括:作业在外存后备队列上等待调度的时间、进程在就绪队列上等待进程调度的时间、进程在CPU上的执行时间、进程等待I/O操作完成的时间。

•注意:我们所讲的周转时间是指系统的平均周转时间,而不是单个作业的周转时间。

•平均周转时间:T=(T1+T2+…Tn)/n。

•带权平均周转时间:•响应时间:响应时间是衡量分时系统的重要指标。

响应时间—从用户通过键盘提交一个请求开始,到屏幕上显示结果为止的这段时间。

包括:从键盘输入的请求信息到CPU的时间,CPU对请求的处理时间、以及信息回送到显示器的时间。

•截止时间:是评价实时系统的重要指标。

截止时间:是指某任务必须开始执行的最迟时间必须完成的最迟时间。

•优先权原则:在所有的OS中,都应有一定的优先权原则,--强占式调度。

系统的吞吐量:是衡量批处理系统的重要指标。

系统的吞吐量—单位时间内系统完成的作业数。

处理机利用率:这对大中型多用户系统很重要,因此CPU价格昂贵(特别是大型计算机),因此这也是衡量大型机与系统的重要指标。

(完整版)操作系统第3章习题带答案

(完整版)操作系统第3章习题带答案

第三章一、问答题1、用户级线程与内核级线程的区别是什么?2、PCB 中包含哪些信息?进程状态属于哪类信息?3、什么是操作系统的内核?4、简述时间片轮转调度算法的基本思想。

5、某系统采用时间片轮转调度算法的处理机调度算法,某个时刻根据用户要求创建了一个进程P,进程P 在其存在过程中依次经历了:进程调度选中了进程P 占用处理机运行,进程P 运行中提出资源申请,要求增加内存使用量,没有得到;进程等待一段时间后得到内存;进程调度再次选中了进程P 占用处理机运行;进程P 的时间片到;一段时间后,进程P 再次占用处理机;有紧急进程Q 进入,系统停止进程P 的运行,将处理机分配进程Q;进程Q 运行完,进程调度再次选中了进程P 占用处理机运行;进程P 运行完。

请分析进程P 在其整个生命过程中的状态变化。

进程调度选中了进程P 占用处理机运行(就绪→运行),进程P 运行中提出资源申请,要求增加内存使用量,没有得到(运行→阻塞);进程等待一段时间后得到内存(阻塞→就绪);进程调度再次选中了进程P 占用处理机运行(就绪→运行);进程P 的时间片到(运行→就绪);一段时间后,进程P 再次占用处理机(就绪→运行);有紧急进程Q 进入,系统停止进程P 的运行,将处理机分配进程Q(运行→就绪);进程Q 运行完,进程调度再次选中了进程P 占用处理机运行(就绪→运行);进程P 运行完。

请分析进程P 在其整个生命过程中的状态变化。

6、试比较进程与程序的异同。

7、引起创建进程的事件通常有哪些?简述进程的创建过程。

8、简述进程的阻塞过程。

910、进程控制块的作用是什么?它主要包括哪几部分内容?11、简述操作系统的三级调度。

12、为什么要了解进程间的家族关系?因为父进程和子进程之间是隶属关系,子进程可以继承使用父进程的资源;如果父进程被撤销,还应撤销其所有的子孙进程。

13、什么是进程?。

14、试比较进程和线程的区别。

15、简述进程的基本状态,画出其状态转换图。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
引入中级调度的主要目的:是为了提高系统资源的利用率和系统吞吐量。
10.试比较FCFS和SPF两种进程调度算法
相同点:两种调度算法都是既可用于作业调度,也可用于进程调度;
不同点:FCFS调度算法每次调度都是从后备队列中选择一个或是多个最先进入该队列的作业,将它们调入内存,为它们分配资源,创建进程,然后插入到就绪队列中。该算法有利于长作业/进程,不利于短作业/进程。
第三章处理机调度与死锁
1.高级调度与低级调度的主要任务是什么?为什么要引入中级调度?
高级调度的主要任务:用于决定把外存上处于后备队列中的哪些作业调入内存,并为它们创建进程,分配必要的资源,然后,再将新创建的进程插入就绪队列上,准备执行。
低级调度的主要任务:用于决定就绪队列中的哪个进程应获得处理机,然后再由分派程序执行将处理机分配给该进程的具体操作。
20.请详细说明可通过哪些途径预防死锁?
a.摒弃"请求和保持"条件:系统规定所有进程开始运行之前,都必须一次性地申请其在整个运行过程所需的全部资源,但在分配资源时,只要有一种资源不能满足某进程的要求,即使其它所需的各资源都空闲,也不分配给该进程,而让该进程等待;
b.摒弃"不剥夺"条件:系统规定,进程是逐个地提出对资源的要求的。当一个已经保持了某些资源的进程,再提出新的资源请求而不能立即得到满足时,必须释放它已经保持了的所有资源,待以后需要时再重新申请;
b.产生死锁的原因有二,一是竞争资源,二是进程推进顺序非法;
c.必要条件是: 互斥条件,请求和保持条件,不剥夺条件和环路等待条件。
19.在解决死锁问题的几个方法中,哪种方法最易于实现?哪种方法是资源利用率最高?
解决/处理死锁的方法有预防死锁、避免死锁、检测和解除死锁,其中预防死锁方法最容易实现,但由于所施加的限制条件过于严格,会导致系统资源利用率和系统吞吐量降低;而检测和解除死锁方法可是系统获得较好的资源利用率和系统吞吐量。
资源情况
进程
Work
Need
Allocation
Work+Allocation
Finish
P0
P3
P4
P1
P2
1 6 2 2
1 6 5 4
1 9 8 7
1 9 9 11
2 9 9 11
0 0 1 2
0 6 5 2
0 6 5 6
1 7 5 0
2 3 5 6
0 0 3 2
0 3 3 3
0 0 1 4
1 0 0 0
c.摒弃"环路等待"条件:系统将所有资源按类型进行线性排序,并赋予不同的序号,且所有进程对资源的请求必须严格按序号递增的次序提出,这样,在所形成的资源分配图中,不可能再出现环路,因而摒弃了"环路等待"条件。
22.在银行家算法中,若出现下述资源分配情:
Process
Allocation
Neቤተ መጻሕፍቲ ባይዱd
Available
SPF调度算法每次调度都是从后备队列中选择一个或若干个估计运行时间最短的作业,将它们调入内存中运行。该算法有利于短作业/进程,不利于长作业/进程。
15.按调度方式可将实时调度算法分为哪几种?
按调度方式不同,可分为非抢占调度算法和抢占调度算法两种。
18.何谓死锁?产生死锁的原因和必要条件是什么?
a.死锁是指多个进程因竞争资源而造成的一种僵局,若无外力作用,这些进程都将永远不能再向前推进;
P0
0032
0012
1622
P1
1000
1750
P2
1354
2356
P3
0332
0652
P4
0014
0656
试问:
⑴该状态是否安全?
⑵若进程P2提出请求Request(1,2,2,2)后,系统能否将资源分配给它?
⑴该状态是安全的,因为存在一个安全序列< P0P3P4P1P2>。下表为该时刻的安全序列表。
1 3 5 4
1 6 5 4
1 9 8 7
1 9 9 11
2 9 9 11
3 12 14 17
true
true
true
true
true
⑵若进程P2提出请求Request(1,2,2,2)后,系统不能将资源分配给它,若分配给进程P2,系统还剩的资源情况为(0,4,0,0),此时系统中的资源将无法满足任何一个进程的资源请求,从而导致系统进入不安全状态,容易引起死锁的发生。
相关文档
最新文档