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

合集下载

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

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

第三章处理机调度与死锁``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下列算法中,操作系统用于作业调度的算法是。

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

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

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

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

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

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

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

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

A.现运行的进程正常结束或异常结束B.现运行的进程从运行态进入就绪态C.现运行的进程从运行态进入等待态D.有一进程从等待态进入就绪态``0301D``0302现有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``0302C``0302下列算法中,操作系统用于作业调度的算法是。

A.先来先服务算法B.先进先出算法C.最先适应算法D.时间片轮转算法``0302A``0302在作业调度中,排队等待时间最长的作业被优先调度,这是指调度算法。

计算机导论 第三章 操作系统期末测试习题与答案

计算机导论 第三章 操作系统期末测试习题与答案

一、选择题1、下列说法中正确的是()。

A.操作系统是计算机和控制对象的接口B. 操作系统是控制对象、计算机和用户的接口C. 操作系统是用户和控制对象的接口D.操作系统是用户和计算机的接口正确答案:D2、操作系统的主要功能包括()。

A.处理管理、设备管理、程序管理、存储管理B.文件管理、设备管理、系统管理、存储管理C.文件管理、处理器管理、设备管理、存储管理D. 运算器管理、存储管理、设备管理、处理器管理正确答案:C3、Windows是一种()。

A. 数据库软件B.中文字处理软件C.应用软件D.系统软件正确答案:D4、在Windows中,()。

A.允许同一文件夹中的两个文件同名,但不允许不同文件夹中的两个文件同名B.允许同一文件夹中的两个文件同名,也允许不同文件夹中的两个文件同名C.不允许同一文件夹中的两个文件同名,也不允许不同文件夹中的两个文件同名D.不允许同一文件夹中的两个文件同名,但允许不同文件夹中的两个文件同名正确答案:D5、Windows,当屏幕上有多个窗口,那么活动窗口()。

A.可以将非活动窗口变为活动窗口B.以上说法对不对C.可以有多个D.只能是一个固定的窗口正确答案:A6、要选定多个不连续的文件或文件夹,要先按住(),再选定。

A.TabB.ShiftC.AltD.Ctrl正确答案:D7、在Windows中使用删除命令删除硬盘中的文件后,()。

A.文件确实被删除,无法恢复B.文件被放入回收站,可以通过回收站操作恢复C.文件被放入回收站,可以通过“查看”菜单的“刷新”命令恢复D.在没有存盘操作的情况下,还可恢复,否则不可以恢复正确答案:B8、要把选定的文件剪切到剪贴板中,可以按()组合键。

A.Ctrl+PB.Ctrl+VC.Ctrl+XD.Ctrl+C正确答案:C9、在Windows环境中,启动一个应用程序就打开相应的窗口,当关闭程序对应的窗口时,就是()。

A.该程序仍然在运行,不受影响B.结束该程序的运行C.使该程序转入后台运行D.暂时中断该程序的运行,随时可以再恢复运行正确答案:B10、为了执行一个应用程序,可以在“资源管理器”窗口中,用鼠标()。

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

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

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

操作系统第三章练习题与答案

操作系统第三章练习题与答案

第三章一、填空1.将作业相对地址空间的相对地址转换成内存中的绝对地址的过程称为地址重定位。

2.使用覆盖与对换技术的主要目的是提高内存的利用率。

3.存储管理中,对存储空间的浪费是以内部碎片和外部碎片两种形式表现出来的。

4.地址重定位可分为静态重定位和动态重定位两种。

5.在可变分区存储管理中采用最佳适应算法时,最好按尺寸法来组织空闲分区链表。

6.在分页式存储管理的页表里,主要应该包含页号和块号两个信息。

7.静态重定位在程序装入时进行,动态重定位在程序执行时进行。

8.在分页式存储管理中,如果页面置换算法选择不当,则会使系统出现抖动现象。

9.在请求分页式存储管理中采用先进先出(FIFO)页面淘汰算法时,增加分配给作业的块数时,缺页中断的次数有可能会增加。

10.在请求分页式存储管理中,页面淘汰是由于缺页引起的。

二、选择1.虚拟存储器的最大容量是由 A 决定的。

A.内、外存容量之和 B.计算机系统的地址结构C.作业的相对地址空间 D.作业的绝对地址空间2.采用先进先出页面淘汰算法的系统中,一进程在内存占3块(开始为空),页面访问序列为1、2、3、4、1、2、5、1、2、3、4、5、6。

运行时会产生 D 次缺页中断。

A.7 B.8 C.9 D.10从图3-8中的“缺页计数”栏里可以看出应该选择D。

图3-8 选择题2配图3.系统出现“抖动”现象的主要原因是由于 A 引起的。

A.置换算法选择不当 B.交换的信息量太大C.内存容量不足 D.采用页式存储管理策略4.实现虚拟存储器的目的是 D 。

A.进行存储保护 B.允许程序浮动C.允许程序移动 D.扩充主存容量5.作业在执行中发生了缺页中断,那么经中断处理后,应返回执行 B 指令。

A.被中断的前一条 B.被中断的那条C.被中断的后一条 D.程序第一条6.在实行分页式存储管理系统中,分页是由 D 完成的。

A.程序员B.用户C.操作员D.系统7.下面的 A 页面淘汰算法有时会产生异常现象。

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

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

第三章 处理机调度与死锁
第三章 习题课
二、填空题
(1)资源的一次分配法和有序分配法分别破坏了产生死锁的必 要 条 件 中 的 _请_ _求_ _和_ _保_ _持_ _条_ _件_ 和 _ _环_ _路_ _等_ _待_ 条_ _件_ _ _ , 它 们 属 于 __预__防__死___锁_,而银行家算法属于__避___免__死__锁_。 (2)作业调度是从_后__备__作__业___队__列_中选出一___批_作业,为它们分 配____资__源,并为它们创建_____进_。程
(4)在高响应比优先的调度算法中,当各个作业的等待时间相 同时,__短__作__业__将得到优先调度;当各个作业要求的运行时 间相同时,_等___待最__时先__间到__最达___长者__者_将得到优先调度。
第三章 处理机调度与死锁
第三章 习题课
三、应用题
1.设有三道作业,它们的提交时间和运行时间如下表:
(2)短作业优先SJF调度算法
作业 提交 运行 开始 完成 周转 号 时刻 时间 时刻 时刻 时间
1 10.00 2 10.00 12.00 2
带权 周转 时间
1
2 10.10 1 12.25 13.25 3.15 3.15
3 10.25 0.25 12.00 12.25 2
8
平均
2.38 4.05
第三章 处理机调度与死锁
第三章 习题课
一、选择题
(2)我们如果为每一个作业只建立一个进程,则为了照顾短作 业 用 户 , 应 采 用 _ _B_ _ _ _ ; 为 照 顾 紧 急 作 业 的 用 户 , 应 采 用 ___E___;为能实现人机交互作用采用____C__;而能使短作业、 长作业及交互作业用户都比较满意时,应采用___D___。

(完整版)操作系统第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)低级调度主要任务是决定就绪队列中的哪个进程将获得处理机,然后由分派程序执行把处理机分配给该进程的操作。

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

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

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

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

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

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

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

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

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

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

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

计算机操作系统练习题及答案第三章单项选择1. 两个进程合作完成一项任务。

在并发执行中,一个进程要等待其合作伙伴发来消息,或建立某个条件后再运行,这种制约性合作关系被称为进程的—A—。

A.同步B.执行C.互斥D.调度2. 为了进行进程协调,进程之间应当具有一定的联系,这种联系通常采用进程间交换数据的方式进行,这种方式通常称为—C—。

A. 进程互斥B. 进程同步C. 进程通信D. 进程制约3. 除了因为资源不足,进程竞争资源可能出现死锁外,不适当的—C —也可能产生死锁。

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

A.修改信号量B.拒绝分配新的资源C.撤消进程D.执行并行操作5. 资源的按序分配策略可以破坏—D—条件。

A. 互斥B. 请求与保持C. 不剥夺D. 环路等待6. 在—C—的情况下,系统出现死锁。

A. 计算机系统发生了重大故障B. 有多个阻塞的进程存在C. 若干个进程因竞争资源而无休止地相互等待他方释放已占有的资源D. 资源数远小于进程数或进程同时申请的资源数远超过资源总数7.某系统中有3个进程,都需要同类资源4个,试问该系统不会发生死锁的最少资源数是—B—。

A.9B.10C.11D.128. 银行家算法是一种—B—算法。

A. 解除死锁B.避免死锁C. 预防死锁D. 检测死锁9. 在下列解决死锁的方法中,属于死锁预防策略的是—B—。

A. 银行家算法B. 资源有序分配C. 死锁检测法D. 资源分配图化简法10. 设有n个进程共用一个相同的程序段(临界区),如果每次最多允许m个进程(m≤n)同时进入临界区,则信号量的初值应为—B —。

A. nB. mC. m-nD. -m11.死锁定理是用于处理死锁的哪一种方法—C—。

A.预防死锁B.避免死锁C.检测死锁D.解除死锁12. AND信号量集机制是为了—C—。

A. 信号量的集中使用B. 解决结果的不可再现性问题C. 防止系统的不安全性D. 实现进程的相互制约13.临界区是指—A—。

A.与共享变量有关的程序段B.公共数据区C.系统管理区D.临时的工作区14. “死锁”问题的讨论是针对—D—的。

A. 某个进程申请系统中不存在的资源B. 某进程申请资源数超过了系统拥有的最大资源数C.硬件故障D. 多个并发进程竞争独占型资源15. 下列的信号量操作中,相当于一个可控开关的是—D—。

A. Swait(s,d,d)B. Swait(s,1,1)C. Swait(s,1,0)D. Swait(s,0,0)16.不是信号量能实现的功能是—D—。

A.进程同步B.进程互斥C.执行的前趋关系D.进程的并发执行17. 若P、V操作的信号量S初值为2,当前值为-1,则表示有—B—等待进程。

A. 0个B. 1个C.2个D. 3个18.发生死锁的必要条件有四个,要预防死锁的发生,可以破坏这四个必要条件,但破坏—A—条件是不太现实的。

A.互斥B.请求和保持C. 不剥夺D.环路19. 下面关于检测死锁的叙述错误的是—C—。

A. 检测死锁的方法对系统资源的分配不加限制,只要有则可以分配B. 检测死锁中系统需要反复检测各进程资源申请和分配情况C.检测死锁是预防系统进入死锁D. 检测死锁只能发现死锁,而不能解除死锁填空1. 信号量的物理意义是:当前信号量的值大于零时,表示(可用资源的数目);当前信号量的值小于零时,其绝对值表示(因请求该资源而被阻塞的进程数目)。

2. 进程间的高级通信机制可归结为3类,分别是(共享存储器系统)、(消息传递系统)和(管道通信)。

3. 资源分配中,摒弃请求和保持条件,可以采用(资源原子分配法);摒弃不剥夺条件采用(剥夺方式);摒弃环路等待条件,可采用(资源有序分配法)。

4. 系统处于安全状态则(一定不会)发生死锁,系统处于不安全状态则(有可能)发生死锁。

5. 有m个进程共享同一临界资源,若使用信号量机制实现对临界资源的互斥访问,则信号量值的变化范围是(1~1-m)。

1. a, b两点之间是一段东西向的单行车道,现要设计一个自动管理系统,管理规则如下:当ab之间有车辆在行驶时,同方向的车可以同时驶入ab段,但另一方向的车必须在ab段外等待;当ab之间无车辆在行驶时,到达a点(或b点)的车辆可以进入ab段,但不能从a点与b点同时驶入;当某方向在ab段行驶的车辆驶出了ab段且暂无车辆进入ab段时,应让另一方向等待的车辆进入ab段行驶。

请用信号量为工具,对ab段实现正确管理以保证行驶安全。

答:设置信号量。

共享变量ab表示由a点进入ab段上的车辆数,ab初值为0。

共享变量ba表示由b点进入ab段上的车辆数,ba初值为0。

信号量S1表示a点进入的车辆访问共享变量ab,初值为1;信号量S2表示b点进入的车辆访问共享变量ba,初值为1 ;信号量Sab表示a点、b点的车辆湖斥进入ab段,初值为1。

Semaphore S1=1,S2=1,Sab=1int ab=ba=0;void Pab(){ while(1){ wait(S1);if (ab==0)wait(Sab);ab=ab+1;signal(S1);车辆由a驶向b;wait(S1);ab=ab-1;if (ab==0)signal(Sab);signal(S1); } }void Pba(){ while(1){ wait(S2);if (ba==0)wait(Sab);ba=ba+1;signal(S2);车辆由b驶向a;wait(S2);ba=ba-1;if (ab==0)signal(Sab);signal(S2); } }Main(){ cobegin{Pab();Pba(); } }2.在公共汽车上,司机与售票员的工作流程分别为,司机:启动车辆→正常运行→到站停车→启动车辆….;售票员:关车门→售票→开车门→关车门….。

为保证乘客安全,司机与售票员要密切配合,协调工作。

请用信号量来实现司机与售票员之间的同步。

汽车运行中,司机与售票员之间的同步关系为:售票员在关车门之后,向司机发开车信号,司机接到开车信号后启动车辆,汽车运行时售票员售票,到站后司机停车,售票员在停车后开车门让乘客下车。

设置信号量S1,S2,S1表示是否允许司机启动车辆,初值为0 ;S2表示是否允许售票员开车门,初值为0。

答:Semaphore S1=S2=0;void Driver(){ while(1){ wait(S1);启动车辆;正常运行;到站停车;signal(S2);}}void Busman(){ while(1){ 关车门;signal(S1);售票;wait(S2);开车门;} }Main(){ cobegin{Driver();Busman();} }3. 产生死锁的四个必要条件是什么?答:产生死锁的四个必要条件分别如下:[1] 互斥条件。

进程要求对所分配的资源进行排它性控制,即在一段时间内某资源仅为一个进程所占有。

[2] 请求与保持条件。

进程因请求资源而阻塞时,对已经获得的资源保持不放。

[3] 不可剥夺条件。

进程已经获得的资源,在没有使用完毕之前,不能被剥夺。

[4] 环路等待条件。

发生死锁时,必然存在一个“进程——资源”的环形链。

4. 为什么采用有序资源分配法不会产生死锁?假设系统有m类资源,n个进程,分别用R1,R2,…,Rm 和P1,P2,…,Pm表示。

根据有序资源分配法,进程申请资源必须按照资源编号升序申请,即,某进程已经拥有Ri资源,再申请的Rj资源,则j一定比i大。

因此,在任一时刻,系统中至少存在一个进程Pk,它占有较高编号的资源Rh,且它申请的资源必然是空闲的,因而能得到满足。

进程Pk能完成,之后释放其资源,使得其它进程也能得到满足,从而完成各自任务而不会导致死锁。

5. 不安全状态是否必然导致系统进入死锁状态?答:不一定。

安全性检查中使用的向量Max是进程执行前提供的,而在实际运行过程中,一个进程需要的最大资源可能小于Max,如,一个进程对应的程序中有一段进行错误处理的代码,其中需要n个A类资源,若该进程在运行过程中没有碰到相应的错误而不需要错误处理,则它实际上不会请求这n个A类资源。

6. . 简述死锁防止与死锁避免的区别。

答:死锁的避免是在每次资源分配的时候采取措施避免死锁;死锁的防治是利用打破死锁的三个必要条件,即,请求与保持、不剥夺、环路等待,来提前采取相应的预防,这种方法条件较苛刻且实现困难。

7 .有三个并发进程R,M,P,它们共享一个缓冲器B。

进程R负责从输入设备读信息,每次读出一个记录后把它存放在缓冲器B中。

进程M在缓冲器B中加工进程R存入的纪录。

进程P把加工后的记录打印输出。

缓冲器B中每次只能存放一个记录,当记录被加工输出后,缓冲器B中又可存放一个新记录。

请用P、V操作作为同步机制写出他们并发执行时能正确工作的程序。

答:Semaphore S1=1,S2=S3=0;void R(){ int x;While(1){从输入设备读一个数data;x=data;wait(S1);B=x;signal(S2);}}void M()演讲稿工作总结调研报告讲话稿事迹材料心得体会策划方案{ While(1){ wait(S2);加工B中数据;B=x;signal(S3);}}void P(){ int Z;While(1){ wait(S3);Z=B;signal(S1);打印Z中的数;}}Main(){ cobegin {R();M();P();}}精心收集精心编辑精致阅读如需请下载!。

相关文档
最新文档