操作系统习题及答案三
操作系统第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、简述进程的阻塞过程。
911、简述操作系统的三级调度。
12、为什么要了解进程间的家族关系?因为⽗进程和⼦进程之间是⾪属关系,⼦进程可以继承使⽤⽗进程的资源;如果⽗进程被撤销,还应撤销其所有的⼦孙进程。
13、什么是进程?。
14、试⽐较进程和线程的区别。
15、简述进程的基本状态,画出其状态转换图。
⼆、计算题1、若程序Pa,Pb和Pc单独执⾏时间分别Ta,Tb和Tc,Ta=1⼩时,Tb=1.5⼩时,Tc=2⼩时,其中处理机⼯作时间分别为Ta=10分钟,Tb=15分钟,Tc=35分钟。
操作系统习题及答案

优先级,后者所得到的是
优先级。
25. 在 机。
调度算法中,按照进程进入就绪队列的先后次序来分配处理
26. 作业调度是高级调度,进程调度是低级调度。( 是否正确? )
27. 线程与进程的根本区别在于进程是
单位,而线程是
单位,
具有自己的主存空间,
共享该主存空间并对其所有主存空间都有存
取权限。
28.在多用户环境下,由多个程序共享一台计算机,机内资源状态将由多个程序 来改变,因此使程序失去了在顺序执行上时具有的________和________特 征。
2、( )优先权是在创建进程时确定的,确定之后在整个进程运行期间不再改变。 A.先来先服务 B.静态 C.动态 D.短作业
3、以下关于死锁的必要条件的叙述中错误的是( )。 A.只要具备了死锁的必要条件,就一定发生死锁现象 B.解决死锁问题可以从死锁的必要条件出发
C.一旦出现死锁现象,处于死锁状态的进程一定同时具备死锁的必要条件 D.死锁的四个必要条件之间不是完全独立的,但也不是等价的
的值为( )。
A. > 0
B.< 0
C.>= 0
D.<=0
6、如果进程 PA 对信号量 S 执行 P 操作,则信号量 S 的值应(
)
A.加 1
B.减 1
C.等于 0 D.小于 0
7、从静态角度上看,进程是由程序、数据及(
)三部分组成。
A. JCB
B. PCB
C. FCB
D .I/O 缓冲区
H、处于(
、
2. 进程是一个
态的概念,程序是一个
态的概念。
3. 操作系统中,可以并行工作的基本单位是 组成。
,它是由程序、
计算机导论 第三章 操作系统期末测试习题与答案

一、选择题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.设计现代OS的主要目标是什么?答:(1)有效性(2)方便性(3)可扩充性(4)开放性2.OS的作用可表现在哪几个方面?答:(1)OS作为用户与计算机硬件系统之间的接口(2)OS作为计算机系统资源的管理者(3)OS实现了对计算机资源的抽象3.为什么说OS实现了对计算机资源的抽象?答:OS首先在裸机上覆盖一层I/O设备管理软件,实现了对计算机硬件操作的第一层次抽象;在第一层软件上再覆盖文件管理软件,实现了对硬件资源操作的第二层次抽象。
OS 通过在计算机硬件上安装多层系统软件,增强了系统功能,隐藏了对硬件操作的细节,由它们共同实现了对计算机资源的抽象。
4.试说明推劢多道批处理系统形成和収展的主要劢力是什么?答:主要动力来源于四个方面的社会需求与技术发展:(1)不断提高计算机资源的利用率;(2)方便用户;(3)器件的不断更新换代;(4)计算机体系结构的不断发展。
5.何谓脱机I/O和联机I/O?答:脱机I/O 是指事先将装有用户程序和数据的纸带或卡片装入纸带输入机或卡片机,在外围机的控制下,把纸带或卡片上的数据或程序输入到磁带上。
该方式下的输入输出由外围机控制完成,是在脱离主机的情况下进行的。
而联机I/O方式是指程序和数据的输入输出都是在主机的直接控制下进行的。
6.试说明推劢分时系统形成和収展的主要劢力是什么?答:推动分时系统形成和发展的主要动力是更好地满足用户的需要。
主要表现在:CPU 的分时使用缩短了作业的平均周转时间;人机交互能力使用户能直接控制自己的作业;主机的共享使多用户能同时使用同一台计算机,独立地处理自己的作业。
7.实现分时系统的关键问题是什么?应如何解决?答:关键问题是当用户在自己的终端上键入命令时,系统应能及时接收并及时处理该命令,在用户能接受的时延内将结果返回给用户。
解决方法:针对及时接收问题,可以在系统中设臵多路卡,使主机能同时接收用户从各个终端上输入的数据;为每个终端配臵缓冲区,暂存用户键入的命令或数据。
操作系统第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. 在下列解决死锁的方法中,属于死锁预防策略的是____。
计算机操作系统习题及答案(3)

第3章处理机调度1)选择题(1)在分时操作系统中,进程调度经常采用_D_ 算法。
A. 先来先服务B. 最高优先权C. 随机D. 时间片轮转(2)_B__ 优先权是在创建进程时确定的,确定之后在整个进程运行期间不再改变。
A. 作业B. 静态C. 动态D. 资源(3)__A___ 是作业存在的惟一标志。
A. 作业控制块B. 作业名C. 进程控制块D. 进程名(4)设有四个作业同时到达,每个作业的执行时间均为2小时,它们在一台处理器上按单道方式运行,则平均周转时间为_ B_ 。
A. l小时B. 5小时C. 2.5小时D. 8小时(5)现有3个同时到达的作业J1、J2和J3,它们的执行时间分别是T1、T2和T3,且T1<T2<T3。
系统按单道方式运行且采用短作业优先算法,则平均周转时间是_C_ 。
A. T1+T2+T3B. (T1+T2+T3)/3C. (3T1+2T2+T3)/3D. (T1+2T2+3T3)/3(6)__D__ 是指从作业提交给系统到作业完成的时间间隔。
A. 运行时间B. 响应时间C. 等待时间D. 周转时间(7)下述作业调度算法中,_ C_调度算法与作业的估计运行时间有关。
A. 先来先服务B. 多级队列C. 短作业优先D. 时间片轮转2)填空题(1)进程的调度方式有两种,一种是抢占(剥夺)式,另一种是非抢占(非剥夺)式。
(2)在_FCFS_ 调度算法中,按照进程进入就绪队列的先后次序来分配处理机。
(3)采用时间片轮转法时,时间片过大,就会使轮转法转化为FCFS_ 调度算法。
(4)一个作业可以分成若干顺序处理的加工步骤,每个加工步骤称为一个_作业步_ 。
(5)作业生存期共经历四个状态,它们是提交、后备、运行和完成。
(6)既考虑作业等待时间,又考虑作业执行时间的调度算法是_高响应比优先____ 。
3)解答题(1)单道批处理系统中有4个作业,其有关情况如表3-9所示。
在采用响应比高者优先调度算法时分别计算其平均周转时间T和平均带权周转时间W。
(完整版)操作系统第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、操作系统:是位于硬件层之上,所有其它软件之下的一个系统软件,是管理系统中的软硬资源,使其得以充分利用并方便用户使用的程序集合。
2、进程:具有一定独立功能的程序关于一个数据集合的一次运行活动。
3、线程:也称轻进程,是进程内的一个相对独立的执行流。
4、设备无关性:用户在使用设备时,选用逻辑设备,而不必面对一种设备一种接口.设备管理实现逻辑设备到物理设备的映射,这就是设备无关性.5、数组多路通道:是指连接多台设备.同时为多台设备服务,每次输入/输出一个数据块.这样的通道叫数组多路通道.6、死锁:一组并发进程,因争夺彼此占用的资源而无法执行下去,这种僵局叫死锁.7、文件系统:是指与文件管理有关的那部分软件,被管理的文件及管理所需的数据结构的总体.8、并发进程:进程是一个程序段在其数据集合上的一次运行过程,而并发进程是可以与其它进程并发运行的.9、临界区:是关于临界资源访问的代码段.10、虚拟存储器:是一种扩大内存容量的设计技术,它把辅助存储器作为计算机内存储器的后援,实际上不存在的扩大的存储器叫虚拟存储器^11、动态重定位:在程序运行时,将逻辑地址映射为物理地址的过程叫动态重定位.12、作业:用户要求计算机系统为其完成的计算任务的集合。
13、中断:在程序运行过程中,出现的某种紧急事件,必须中止当前正在运行的程序,转去处理此事件,然后再恢复原来运行的程序,这个过程称为中断。
14、文件:具有符号名而且在逻辑上具有完整意义的信息项的有序序列。
15、进程互斥:两个或两个以上的进程,不同时进入关于同一组共享变量的临界区域,否则可能发生与时间有关的错误,这种现象叫互斥。
16、系统开销:指运行操作系统程序,对系统进行管理而花费的时间和空间。
17、通道:由通道独立控制完成I/O操作,全部完成后向CPU发出中断,CPU丸行中断处理程序。
18、系统调用:使用户或系统程序在程序以及上请求系统为之服务的一种手段。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
操作系统习题及答案三习题三同步、通信与死锁一、单项选择题1、在单一处理机上,将执行时间有重叠的几个程序称为()。
A.顺序程序B. 多道程序C.并发程序 D. 并行程序2、进程间的基本关系为()。
A.相互独立与相互制约B. 同步与互斥C.并行执行与资源共享D. 信息传递与信息缓冲3、两个进程合作完成一个任务,在并发执行中,一个进程要等待其合作伙伴发来信息,或者建立某个条件后再向前执行,这种关系是进程间的()关系。
A.同步B. 互斥C.竞争 D. 合作4、在一段时间内,只允许一个进程访问的资源称为()。
A. 共享资源B. 临界区C.临界资源 D. 共享区的资源数大大超过资源总数17、银行家算法是一种()算法。
A.死锁解除B.死锁避免C.死锁预防D.死锁检测18、某系统中有3个并发进程,都需要同类资源4个,试问该系统不会发生死锁的最少资源数是()。
A.9 B.10 C.11 D.1219、信箱通信是一种()通信方式。
A.直接通信B.间接通信C.低级通信D.信号量20、并发进程失去了封闭性是指( )。
A.多个相对独立的进程以各自的速度向前推进B.并发进程的执行结果与速度无关C.并发进程执行时,在不同时刻发生的错误D.并发进程共享变量,其执行结果与速度有关二、填空题1、若一个进程已进入临界区,其他欲进入临界区的进程必须。
2、用P, V操作管理临界区时,任何一个进程在进入临界区之前应调用操作,退出临界区时应调用操作。
3、用信箱实现通信时,应有和两条基本原语。
4、有m个进程共享同一临界资源,若使用信号量机制实现对临界资源的互斥访问,则信号量值的变化范围是。
5、死锁产生的必要条件有四个,即、、、。
6、银行家算法中,当一个进程提出的资源请求将导致系统从进入时,系统就拒绝它的资源请求。
7、PV操作也可看作为进程间的一种通信方式,由于只交换了少量的信息,故称为。
8、在多线程操作系统中,线程与进程的根本区别在于进程作为单位,而线程是单位。
9、临界区是指并发进程中与有关的程序段10、操作系统中信号量的值与___ ___的使用情况有关,它的值仅能由来改变。
三、简答题1、什么是进程的互斥与同步?2、一个进程进入临界区的调度原则是什么?3、在操作系统中,P操作和V操作各自的动作是如何定义的?4、为什么并发进程执行时可能会产生与时间有关的错误?如何避免?5、为什么说采用有序资源分配法不会产生死锁?四、应用题1、四个进程A、B、C、D都要读一个共享文件F,系统允许多个进程同时读文件F。
但限制是进程A和进程C不能同时读文件F,进程B和进程D也不能同时读文件F。
为了使这四个进程并发执行时能按系统要求使用文件,现用PV操作进行管理,请回答下面的问题:(1)如何定义信号量及初值;(2)在下列的程序中填上适当的P、V操作,以保证它们能正确并发工作:进程 A 进程 B 进程 C 进程 D… …… …[1];[3];[5];[7];read F;read F;read F;read F;[2];[4];[6];[8];… …… …2、设有一台计算机,有两条I/O通道,分别接一台卡片输入机和一台打印机。
卡片机把一叠卡片逐一输入到缓冲区B1中,加工处理后再搬到缓冲区B2中,并在打印机上打印,问:①系统要设几个进程来完成这个任务?各自的工作是什么?②这些进程间有什么样的相互制约关系?③用P、V操作写出这些进程的同步算法。
3、生产者-消费者问题表述如下:一组生产者进程和一组消费者进程通过缓冲区发生联系。
生产者进程将生产的产品送入缓冲区,消费者进程则从中取出产品。
假定环形缓冲池中共有N个缓冲区,编号为0~N-1。
为了描述生产者进程和消费者进程,设指针in和out分别指向生产者进程和消费者进程当前所用的缓冲区(buffer),初值均为0。
(1)应设置三个信号量实现两类进程的同步,分别是full、empty和mutex。
请说出它们的含义及初值。
(2)下面是生产者进程的算法描述,请填写相应的P、V操作语句。
while (TRUE){;;产品送往buffer(in);in=(in+1)mod N;/*mod为取模运算*/;;(3)指出生产者进程算法中的临界区是哪一段程序?4、在银行家算法中,若出现下述资源分配情况:试问:(1)该状态是否安全? (2)如果进程P2提出请求Request2(1,2,2,2)后,系统能否将资源分配给它? 5、桌上有一空盘,允许存放一只水果。
爸爸可向盘中放苹果,也可向盘中放桔子,儿子专等吃盘中的桔子,女儿专等吃盘中的苹果。
规定当盘空时一次只能放一只水果供吃者取用,请用P, V 原语实现爸爸、儿子、女儿三个并发进程的同步。
6、哲学家甲请哲学家乙、丙、丁到某处讨论问题,约定全体到齐后开始讨论:在讨论的间隙四位哲学家进餐,每人进餐时都需使用刀、叉各一把,餐桌上的布置如图2.9所示。
请用信号量及P 、V 操作说明这四位哲学家的同步、互斥过程。
PP 0 0 3 2 1 0 0 0 1 2 1 7 1 6 2 2 Allo Ne Ava答案三 同步、通信与死锁一、单项选择题1、C2、B3、A4、C5、A6、C7、D8、B9、A 10、B甲乙11、D 12、D 13、B 14、A 15、D 16、C 17、B 18、B 19、B 20、D二、填空题1、等待2、P、V3、发送、接收4、1至-(m-1)5、互斥条件、不剥夺条件、部分分配、环路条件6、安全状态、不安全状态7、低级通信8、资源分配、调度和执行单位9、共享变量10、资源、PV操作三、简答题1.进程的互斥是指在逻辑上本来完全独立的若干进程,由于竞争同一个资源而产生的相互制约关系。
进程的同步是进程间共同完成一项任务时直接发生相互作用的关系,也就是说,这些具有伙伴关系的进程在执行时间次序上必须遵循确定的规律。
2.一进程进入临界区的调度原则是:①如果有若干进程要求进入空闲的临界区,一次仅允许一个进程进入。
②任何时候,处于临界区内的进程不可多于一个。
如已有进程进入自己的临界区,则其它所有试图进入临界区的进程必须等待。
③进入临界区的进程要在有限时间内退出,以便其它进程能及时进入自己的临界区。
④如果进程不能进入自己的临界区,则应让出CPU,避免进程出现“忙等”现象。
3.P操作顺序执行下述两个动作:①信号量的值减1,即S=S-1;②如果S≥0,则该进程继续执行;如果S<0,则把该进程的状态置为阻塞态,把相应的PCB连入该信号量队列的末尾,并放弃处理机,进行等待(直至其它进程在S上执行V 操作,把它释放出来为止)。
V操作顺序执行下述两个动作:①S值加1,即S=S+1;②如果S>0,则该进程继续运行;如果S≤0,则释放信号量队列上的第一个PCB(即信号量指针项所指向的PCB)所对应的进程(把阻塞态改为就绪态),执行V操作的进程继续运行。
4.有交往的并发进程可能会同时使用共享资源,如果对这种情况不加控制,由于进程占用处理器的时间、执行的速度和外界的影响等,就会引起与时间有关的错误。
只要使若干并发进程的相关临界区互斥执行,就可避免造成这类错误。
5.为了便于说明,不妨设系统中有m类资源,n 个进程,分别用Rl,R2,…,Rm(1,2,…,m可看作资源编号)和P1,P2,…Pn表示。
根据有序资源分配法可知,进程申请资源时必须按照资源编号的升序进行,即任何进程在占有了Ri类资源后,再申请的资源Rj的编号j一定大于i。
因此在任一时刻,系统中至少存在一个进程Pk,它占有了较高编号的资源Rh,且它继续请求的资源必然是空闲的,因而Pk可以一直向前推进直至完成,当Pk运行完成后即会释放它占有的所有资源;在Pk完成之后,剩下的进程集合中同样会存在一个进程,它占有了较高编号的资源,且它继续请求的资源必然是空闲的,因而它可以一直向前推进直至完成;以此类推,所有进程均可运行完成,故不会发生死锁。
四、应用题1.解:(1)定义二个信号量S1、S2,初值均为1,即:S1=1,S2=1(共2分)(2)从[1]到[8]分别为:P(S1),V(S1),P(S2),V(S2),P(S1) ,V(S1) ,P(S2) ,V(S2)2、解:①系统可设三个进程来完成这个任务:R进程负责从卡片输入机上读入卡片信息,输入到缓冲区B1中;C进程负责从缓冲区B1中取出信息,进行加工处理,之后将结果送到缓冲区B2中;P 进程负责从缓冲区B2中取出信息,并在打印机上印出。
②R进程受C进程影响,B1放满信息后R进程要等待——等C进程将其中信息全部取走,才能继续读入信息;C进程受R进程和P进程的约束:B1中信息放满后C进程才可从中取出它们,且B2被取空后C进程才可将加工结果送入其中;P进程受C进程的约束:B2中信息放满后P进程才可从中取出它们,进行打印。
③信号量含义及初值:B1full —— 缓冲区B1满,初值为0;B1empty ——缓冲区B1空,初值为0; B2full —— 缓冲区B2满,初值为0;B2empty ——缓冲区B2空,初值为0;R 进程 C 进程 P 进程3.答:(1)full 表示放有产品的缓冲区数,初值为0;empty 表示可供使用的缓冲区数,初值为N ;mutex 为互斥信号量,初值为1,表示互斥进入临界区。
(2)P (empty ),P (mutex ),V (mutex ),V (full )(3)生产者进程算法中的临界区是如下程序段:产品送往buffer (in );in=(in+1) mod N; /*mod 为取模运算*4.解:(1)利用银行家算法对此时刻的资源分配情况进行分析,可得此时刻的安全性分 析情况:从上述分析中可以看出,此时存在一个安全序列{P0,P3,P4,Pl ,P2},故该状态是 安全的。
(2)P2提出请求Request2(1,2,2,2),按银行家算法进行检查:.Request2(1,2,2,2) ≤Need2(2,3,5,6).Request2(1,2,2,2) ≤Available(1,6,2,2). 试分配并修改相应数据结构,资源分配情况如下:P 0 P 1 6 2 21 6 0 0 12 0 6 0 03 2 0 3 W Ne Allo 1 6 54 1 9 truetruetrue Fini Work+All.再利用安全性算法检查系统是否安全,可用资源Available (0,4,0,0)已不能满足任何进程的需要,故系统进入不安全状态,此时系统不能将资源分配给P2。
5.解:在本题中,应设置三个信号量S, So, Sa ,信号量S 表示盘子是否为空,其初值为1;信号量So 表示盘中是否有桔子,其初值为0;信号量Sa 表示盘中是否有苹果,其初 值为0。
同步描述如下:int S=1;int So=0;int Sa=0;main ()tcobeginfather ();son ();PP 0 0 3 2 1 0 0 0 1 2 1 7 0 4 0 0 Allo Ne Avadaughter();coend}father( ){while(1){P(S);将水果放入盘中:If (放入的是桔子) V (So);else V (Sa):}}son( ){while(1){P(So);从盘中取出桔子;V(S):吃桔子;}}daughter(){while(1){P(Sa):从盘中取出苹果;V(S):吃苹果;}}6.解:在本题中,应设置四个信号量forkl、fork2、knifel、knife2,其初值均为1,分别表示资源叉1、叉2、刀1、刀2是否可用。