OS经典例题

合集下载

OS进程同步(信号量典型题)

OS进程同步(信号量典型题)

例题1(北京大学1999年)有一个仓库,可以存放A和B两种产品,仓库的存储空间足够大,但要求:(1)一次只能存人一种产品((A或B);(2)一N< A产品数量一B产品数量<M其中,N和M是正整数。

试用“存放A’和‘存放B’以及P操作和V操作描述产品A和产品B的人库过程。

解答:应先将表达式转换成制约条件,不可在程序中直接使用该表达式将表达式分解为:B产品数量—A产品数量<NA产品数量—B产品数量<M可这样理解:(1)若只放人A产品,而不放入B产品,则A产品最多可放M—1次便被阻塞,即A进程每操作一次就应当将计数器减1(计数器初值为M—1),当计数器值为0时,进程程A被阻塞;每当放入一个B产品,则可令A产品的计数器增加1,表明A产品可以多一次放入产品的机会;同理,(2)若只放人B产品,而不放入A产品,则B产品最多可;放N一1次便被阻塞,即A进程每操作一次就应当将计数器减1(计数器初值为N—1)。

当计数器值为0时,进程B被阻塞;每当放人一个A产品,则可令B产品的计数器增加1,表明B产品可以多一次放入产品的机会。

由此可见,该问题是一个同步控制问题。

又因为一次仅允许一种产品人库,设置信号量mutex控制粮进程互斥访问临界资源(仓库)。

过程如下:beginmutex:=1;Sa := M-1;Sb := N-1;ParbeginA产品beginrepeatP (Sa);P (mutex);A人库;V (mutex);V (Sb);Until false;End;B产品beginrepeatP (Sb);P (mutex);B人库;V (mutex);V (Sa);Until false;End;rend;例题2(华中理工大学1999年试题)设公共汽车上,司机和售票员的活动分别是:司机:售票员:启动车辆上乘客正常行车关车门到站停车售票开车门下乘客在汽车不断地到站,停车,行驶过程中,这两个活动有什么同步关系?并用信号灯的P, V操作实现它们的同步。

OS课程例题和解答

OS课程例题和解答

3、信号量与P、V操作
9、解答
应设置两个信号量:s1、s2;s1表示是否允许司机 启动汽车(其初值为0);s2表示是否允许售票员开门 (其初值为0)。用P、V原语描述如下:
driver ( ) begin
while(1) { P(s1) 启动车辆; 正常行车; 到站停车;
V(s2); } end
busman ( ) begin while(1) { 关车门;,
2、处理器管理
3、解答 由于任何调度方式下,S1’ + S2’+ S3’+…+ Sn’ 为一个确定的数,而当S1’≤ S2’≤… ≤S(n1)’≤Sn’ 时才有:0×S1’+1×S2 ’ +2×S3’ +…+(n-1) Sn’的值最大,也就是说,此时T值 最小。所以,按短作业优先调度算法调度时, 使得平均作业周转时间最短。
3、解答 画出三个作业并行工作图如下(图中着色部分 为作业等待时间):
1、多道程序设计技术
3、解答
(1) Job1从投入到运行完成需110ms,Job2从投入到运 行完成需90ms,Job3从投入到运行完成需110ms。
(2) CPU空闲时间段为:60ms至70ms,80ms至90ms, 100ms至110ms。所以CPU利用率为(11030)/110=72.7%。
V(s1) 售票;
P(s2) 开车门; 上下乘客;
} end
3、信号量与P、V操作
10、另一个经典同步问题:吸烟者问题(patil,1971)。 三个吸烟者在一个房间内,还有一个香烟供应者。 为了制造并抽掉香烟,每个吸烟者需要三样东西: 烟草、纸和火柴,供应者有丰富货物提供。三个吸 烟者中,第一个有自己的烟草,第二个有自己的纸 和第三个有自己的火柴。供应者随机地将两样东西 放在桌子上,允许一个吸烟者进行对健康不利的吸 烟。当吸烟者完成吸烟后唤醒供应者,供应者再把 两样东西放在桌子上,唤醒另一个吸烟者。 试采用:信号量和P、V操作

(完整版)OS习题

(完整版)OS习题

填空1.写出如下操作系统的类型(答案不唯一,能想多少是多少)UNIX:分时DOS:个人WIN98:个人WindowsNT: 网络Linux:个人2.根据应用环境和用户使用计算机的方式不同,操作系统的类型主要有分时,实时、__批量___、个人、网络和分布式这几种。

3.多道运行的特征之一是微观上串行,它的含意是从微观上看,主存中的多道程序轮流或分时地占有处理机,交替执行。

4.操作系统是由一组资源管理程序组成的,其中文件系统的功能是对于软件资源的管理。

5.操作系统具备处理并发活动的能力,其重要的硬件支持是中断机构 .6.操作系统的结构可以有一体化结构、_模块化____、层次化和可扩展内核 .7.操作系统具备处理并发活动的能力,其最重要的硬件支持是中断。

8.所谓操作系统虚拟机的概念,是指在裸机上配置了操作系统 .9. 操作系统为用户提供两个接口,一个是程序接口,另一个是操作接口。

10.操作系统向用户提供的用户界面可以分为两个方面,即__系统调用__和命令接口。

11.系统引导的任务是__将操作系统的必要部分装入主存并使系统运行,最终处于命令接收状态_。

P40 12.系统引导分为三个阶段,即初始引导、核心初始化和___系统初始化_。

P4013。

一个运行的进程用完了分配给它的时间片后,它的状态变为就绪状态。

14. 用信箱实现进程间通信时,应有 send 和 receive 两条基本原语。

15。

程序并发执行与顺序执行时相比产生了一些新特性,分别是:非顺序性、非封闭性和非可再现性。

16.并行性是指_能处理多个同时性活动的能力。

并行处理的必要条件是必须具备_多个能真正同时操作的物理部件_.P23、2417.进程之间存在着相互制约的关系。

其中直接的制约关系是由于__共享数据(进程协作)_产生的,间接的制约关系是由于__竞争系统资源____而产生的。

P6218.P 操作可以使进程由运行状态变为 _____等待_____状态.19.资源的按序分配策略可以破坏死锁产生的四个必要条件之中的环路条件。

OS问答例题

OS问答例题

chp1例1 OS的作用可表现在哪几个方面?答:OS的作用表现在以下3个方面:①提供了用户操作计算机的界面。

②管理计算机的资源。

资源管理主要包括处理机管理、存储器管理、I/O设备管理、文件管理。

③扩充计算机的处理功能。

即OS负责提供功能比裸机更强、使用更方便的机器。

例2 实现多道程序应解决哪些问题?答:实现多道程序应解决如下问题:①处理机管理问题。

②内存管理问题。

③I/O管理问题。

④文件管理问题。

⑤作业管理问题。

例3 OS具有哪几大特征?它的最基本特征是什么?答:①OS具有4大特征;并发性、共享性、虚拟性、异步性。

②操作系统的最基本特征因系统而异:批处理系统具有成批处理的特征,分时系统具有交互性的特征,实时系统具有实时性特征。

Chp2例1.请画图说明进程有哪三种基本状态以及各状态之间的转换情况。

例2 试说明PCB的作用。

为什么说PCB是进程存在的唯一标志?答:①PCB的作用是使一个在多道程序环境下不能独立运行的程序(含数据)成为一个能独立运行的进程,OS根据PCB来对并发执行的进程实施控制和管理。

②PCB是进程实体的一部分,是OS中最重要的数据结构,存放着OS所需的、用于描述进程的信息及控制运行的全部信息。

系统通过进程的PCB感知进程的存在,所以说PCB是进程存在的唯一标志。

例3 什么是临界资源和临界区?答:①临界资源是一种必须互斥进行访问的资源,即一次只能供一个进程使用的资源。

②临界区是进程中用来访问临界资源的那段代码。

例4进程之间存在着哪几种制约关系?它们各是什么原因引起的?答:进程之间存在着直接制约和间接制约这两种制约关系,其中直接制约(同步)是由于进程间的相互合作而引起的,而间接制约(互斥)则是由于进程间共享临界资源而引起的。

CHP3例1关于处理机调度,试问处理机三级调度各是什么?各级调度完成的关键性任务是什么?答:操作系统的处理机三级调度为:高级调度(又称为“作业调度”)、中级调度(又称为“交换调度”)、低级调度(又称为“进程调度”)。

OS期末复习题

OS期末复习题

OS期末复习题1218一、单选题1、若把操作系统看作是计算机资源的管理者,下列( )不属于操作系统所管理的资源。

A、磁盘B、内存C、 CPUD、中断2、单道批处理系统的主要缺点是( )。

A、 CPU利用率不高B、失去了交互性C、不具备并行性D、以上都不是3、提高单机资源利用率的关键技术是( )。

A、脱机技术B、虚拟技术C、交换技术D、多道程序设计技术4、并发性是指若干事件在( )发生。

A、同一时刻B、不同时刻C、同一时间间隔内D、不同时间间隔内5、批处理系统的主要缺点是( )。

A、系统吞吐量小B、 CPU利用率不高C、资源利用率低D、无交互能力6、( )操作系统允许一台主机上同时连接多台终端,多个用户可以通过各自的终端同时交互地使用计算机。

A、网络B、分布式C、分时D、实时7、实时操作系统必须在( )内处理来自外部的事件。

A、一个机器周期B、被控制对象规定时间C、周转时间D、时间片8、要求在规定的时间内对外界的请求必须给予及时响应的OS是( )。

A、多用户分时系统B、实时系统C、批处理系统时间D、网络操作系统9、操作系统中有一组特殊的程序,它们不能被系统中断,在操作系统中称为( )。

A、初始化程序B、原语C、子程序D、控制模块10、单处理机系统中,可并行的是( )。

I.进程与进程II.处理机与设备 III.处理机与通道IV.设备与设备A、 I、II和IIIB、 I、II和IVC、 I、III和IVD、 II、III和IV11、在计算机系统中,操作系统是( )。

A、一般应用软件B、核心系统软件C、用户应用软件D、系统支撑软件12、进程和程序的本质区别是( )。

A、前者是动态的,后者是静态的B、前者存储在内存,后者存储在外存C、前者在一个文件中,后者在多个文件中D、前者分时使用CPU,后者独占CPU13、进程的基本状态( )可以由其他两种基本状态转变而来。

A、就绪状态B、执行状态C、阻塞状态D、新建状态14、进程处于( )时,它处于非阻塞态。

操作系统os试题

操作系统os试题

一简单题(42分,每题6分)1.简述下列各操作系统概念的主要特征:(1)批处理操作系统(2)分时操作系统(3)实时操作系统(4)分布式操作系统2.什么是线程?为什么要引入线程?3.试比较Hanson和Hoare两种管程实现方法。

4.试述虚存管理与实存管理之间的主要区别。

5.外部设备与CPU并行工作的基础是什么?6.什么是文件的安全控制?有哪些方法可实现文件的安全控制?7.试述DES加解密的处理过程。

二在单处理器多道分时系统中,有3道作业依次提交,其提交时间、运行时间如果已知下列情况:(1)每道作业的I/O等待时间占各自总运行时间的一半;(2)分时运行两道作业,CPU将有20%的时机空闲;(3)除了CPU,系统有充足的资源供作业使用。

试计算各作业运行完成时间。

三假定某计算机系统有R1和R2两类可再用资源(其中R1有两个单位,R2有一个单位),它们被进程P1、P2所共享,且已知两个进程均以下列顺序使用两类资源。

(12分)-?申请R1 -?申请R2 -?申请R1 -?释放R1 -?释放R2 -?释放R1试求出系统运行中可能到达的死锁点,并画出死锁点的进程-资源图。

四假定某请求页式虚拟存储系统中,某进程的页面走向是:1,2,3,4,1,2,5,1,2,3,4,5。

设分配给该进程的驻留集为m,分别计算m=3和m=4时,FIFO和LRU两种淘汰算法的缺页中断次数。

(13分)五假设一个录像厅有0,1和2三种不同的录像片由观众选择放映。

录像厅的放映规则为:(1)任意时刻最多只能放映一部录像片,正在放映的录像片是自动循环放映的,最后一名观众主动离开时结束当天放映。

(2)选择当前放映录像片的观众可以立即进入,允许同时有多名观众选择同一录像片观看,同时观看的人数不受限制。

(3)等待观看其他录像片的观众可以按到达顺序排队,当一种新的录像片开始放映时,所有等待观看此录像片的观众可以依次进入录像厅同时观看。

用一个进程代表一个观众,实现观众进程观看录像函数Videoshow(int Vcdid),以遵守放映规则。

OS例题

1.有一128行、128列的整数数组A在系统中按行存放。

系统采用页式存储管理,内存一个页面可放128个整数。

给数组A赋值分别采用程序段(1)、程序段(2)时,各自产生的缺页中断次数为多少。

程序段(1):for i:=1 to 128do for j:=1 to 128do A[i][j]:=0; 程序段(2):for j:=1 to 128do for i:=1 to 128do A[i][j]:=0;设在内存中给A分配十个物理页面,并且开始时A的第一个页面已在内存,当分别完成上述程序后,【参考答案】采用代码(1)其访问顺序与数组存放顺序一致,由于第一页已在内存中,所以除了访问第一页时不发生缺页,对其余127页的访问均发生缺页,所以共发生128-1次缺页中断。

采用代码(2)其访问顺序是按列访问,与数组存放顺序不一致,经分析可知共发生128*128-1次缺页中断。

2.已知某系统采用虚拟页式存储管理,虚地址为16位,其中第10~15位为页号,0~9位为页内地址。

(1)假定某进程P包含5页,操作系统为该进程在内存中固定分配了3个物理块,开始时为空。

设该进程运行时对页面的访问顺序为:1,2,1,0,4,1,3,4,2,1,4,1在采用FIFO(先进先出)、LRU(最近最少使用)两种置换算法的情况下,分别会产生多少次缺页?给出各自被淘汰的页。

(2)假定在时刻t,进程P只有第0、1、2页在内存中,对应物理块号分别为5、8、10。

下列虚拟地址是否在内存中。

若在给出相应的物理地址。

(a)0A4EH (b)122AH【参考答案】(1)FIFO 共发生9次缺页依次被淘汰的页为:1、2、0、4、1、3LRU 共发生7次缺页依次被淘汰的页为:2、0、1、3(2)(a)0A4EH对应的二进制为0000 10,10 0100 1110该地址表明它对应第2页,根据已知该页在内存,对应物理块为10,所以,物理地址为: 0010 10,10 0100 1110 (十六进制为2A4EH)(b)122AH对应的二进制为0001 00,10 0010 1010 该地址表明它对应第4页, 根据已知该页不在内存中。

OS经典习题值得收藏

1、利用记录型信号量写出一个不会出现死锁的哲学家进餐问题的算法。

(上课讲过)2、桌上有1空盘,允许存放1个水果。

爸爸向盘中放苹果,也可以向盘中放桔子。

儿子专等吃盘中的桔子,女儿专等吃盘中的苹果。

规定当盘空时一次只能放1个水果供吃者取用。

请用Wait()、Signal()原语实现爸爸、儿子、女儿三个并发进程的同步。

答:设置三个信号量S,So,Sa ,初值分别为1,0,0。

分别表示可否向盘中放水果,可否取桔子,可否取苹果。

3、桌上有一只盘子,每次只能放入一个水果。

爸爸专向盘中放苹果,妈妈专向盘中放桔子,一个女儿专等吃盘中的苹果,一个儿子专等吃盘中的桔子。

试用P ,V 操作写出他们能同步的程序。

(与2题类似,略)4、题目不完整。

5、在一单道批处理系统中,一组作业的提交时间和运行时间如表所示。

试计算以下3种作业调度算法的平均周转时间T 和平均带权周转时间W 。

(西北大学 1998 ) (1)先来先服务; (2)短作业优先; (3)响应比高者优先。

表3-4 作业提交时间和运行时间表也就是说,某个作业到达时,如果后备队列是空,则立即得到调度。

答:(1)先来先服务平均带权周转时间=(1+2+3.5+7)/4=3.375(2)短作业优先作业执行顺序为1-3-4-2平均周转时间=(1+1.3+0.2+0.2)/4=0.675平均带权周转时间=(1+2.6+1+2)/4=1.65(3)响应比高者优先作业1执行完,作业2和3等待,此时r2=1+(9-8.5)/0.5=2,r3=1+0/0.2=1,r2>r3因此选择作业2运行。

作业2执行完,作业3和4等待,此时r3=1+(9.5-9)/0.2=3.5,r4=1+(9.5-9.1)/0.1=5,r4>r3因此选择作业4运行。

作业的执行顺序为:1-2-4-3平均周转时间=(1+1+0.8+0.5)/4=0.825平均带权周转时间=(1+2+4+5)/4=36、某操作系统采用可变分区分配存储管理方法,用户区为512K,始址为0,用空闲分区表管理空闲分区。

OS练习题——精选推荐

OS练习题第⼀章1.下⾯关于并发性的论述中正确的是( C )。

,A。

并发性是指若⼲事件在同⼀时刻发⽣B.并发性是指若⼲事件在不同时刻发⽣C.并发性是指若⼲事件在同⼀时间间隔内发⽣D.并发性是指若⼲事件在不同时间间隔内发⽣2.所谓( B )是指将⼀个以上的作业放⼊主存,这些作业共享处理机的时间和外围设备等其他资源。

A.多重处理B.多道程序设计C.实时处理D.共同执⾏3.在设计实时操作系统中,⾸先要考虑的是( B )A.灵活性和可靠性B.实时性和可靠性。

C.交互性和实时性D.资源利⽤率4.从资源管理的观点看,操作系统是( B )。

A.⽤户与计算机之间的接⼝B.⼀组资源管理软件C.合理地组织计算机⼯作流程的软件D.由若⼲层次的程序按⼀定结构组成的有机体5.按照所起的作⽤和需要的运⾏环境,操作系统属于( D )范畴。

A.⽤户软件B.应⽤软件C.⽀撑软件D.系统软件6.以下( C )项功能不是操作系统具备的主要功能。

A.内存管理B.中断处理C.⽂档编辑D.CPU调度7.为了使系统中所有的⽤户都能得到及时的响应,该操作系统应该是( B )。

A.多道批处理系统B.分时系统C.实时系统D.⽹络系统8.在下列选择中,( D )不是操作系统关⼼的主要问题。

A.管理计算机裸机B.设计、提供⽤户程序与计算机硬件系统的界⾯C.管理计算机系统资源D.⾼级程序设计语⾔的编辑器9.操作系统提供给程序员的接⼝是(B )。

A.进程B.系统调⽤C.库函数D.B和C10.现代操作系统的基本特征是程序的并发执⾏、资源共享和(B )。

A.多道程序设计B.操作的异步性C.中断处理D.实现分时与实时处理第⼆章进程管理1.进程PA不断地向管道写数据,进程PB从管道中读数据并加⼯处理,如果采⽤P、V操作来实现进程PA和进程PB间的管道通信,并且保证这两个进程并发执⾏的正确性,则⾄少需要( B ).A.1个信号量,信号量的初值为0B.2个信号量,信号量的初值为0、1C.3个信号量,信号量的初值为0、0、1lD.4个信号量,信号量的初值为0、0、1、l2.下列进程状态转换中,绝不可能发⽣的状态转换是( C )。

os例题

一真经之银行排队问题(北京大学2000)问题描述:银行有n个柜员,每个顾客进入银行后先取一个号,并且等着叫号,当一个柜员空闲后,就叫下一个号.问题分析:将顾客号码排成一个队列,顾客进入银行领取号码后,将号码由队尾插入;柜员空闲时,从队首取得顾客号码,并且为这个顾客服务,由于队列为若干进程共享, 所以需要互斥.柜员空闲时,若有顾客,就叫下一个顾客为之服务.因此,需要设臵一个信号量来记录等待服务的顾客数.The P,V code Using Pascalbeginvar mutex=1,customer_count=0:semaphore;cobeginprocess customerbeginrepeat取号码;p(mutex);进入队列;v(mutex);v(customer_count);endprocess serversi(i=1,...,n)beginrepeatp(customer_count);p(mutex);从队列中取下一个号码;v(mutex);为该号码持有者服务;endcoend20CHAPTER 3. 九阴真经之研究生题辑21end_思考:某车站售票厅,任何时刻最多可容纳20名购票者进入,当售票厅中少于20名购票者时,则厅外的购票者可立即进入,否则需在外面等待。

若把一个购票者看作一个进程,请回答下列问题(1)用PV操作管理这些并发进程时,应怎样定义信号量,写出信号量的初值以及信号量各种取值的含义。

(2)若欲购票者最多为n个人,写出信号量可能的变化范围(最大值和最小值)。

定义信号量S,初值为20,当s > 0时,它表示可以继续进入购票厅的人数,当s = 0时,表示厅内已有20人正在购票,当s < 0时jSj表示正等待进入的人数。

The P,V code Using Pascalvar S:semaphore;S=20;cobeginprocedure P_i:beginp(s);.Enter and buy ticket;.v(s)endcoend(2)最大值为20,最小值为20-N。

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

第一章经典例题经典例题解析1.若信号S的初值为2,当前值为-1,则表示有(B )个等待进程?A.0 B.1 C.2 D.32.比较进程与程序的异同分析与解答进程和程序是既有联系又有区别的两个概念,它们的主要区别如下:(1)每个进程实体中包含了程序段、数据段这两个部分,因此说进程和程序是紧密相关的。

但从结构上看,进程实体中除了程序段和数据段外,还必须包含—个数据第构,即进程控制块PCB。

(2)进程是程序的—次执行过程,因此是动态的;动态性还表现在进程由创建产生、由调度而执行、由撤销而消亡,即它具有一定的生命周期。

而程序则只是一组指令的有序集合,并可永久地存放在某种介质上,其本身不具有动态的含义,因此是静态的。

(3)多个进程实体可同时存放在内存中并发执行,其实这正是引入进程的目的。

而程序的并发执行具有不可再现性,因此程序不能正确地并发执行。

(4)进程是一个能够独立运行、独立分配资源和独立接受调度的基本单位。

而因程序不具有PCB,所以它是不可能在多道程序环境下独立运行的。

(5)进程和程序不一一对应。

同一个程序的多次运行,将形成多个不同的进程;同一个程序的一次执行也可以产生多个进程;而一个进程也可以执行多个程序。

3.为某临界区设置一把锁W,当W=1时表示关锁,W=0时表示锁已打开。

试写出开锁原语和关锁原语,并利用它们去实现互斥。

分析与解答在同步机构中,常用一个变量来代表临界资源的状态,并称它为锁,通常用0表示资源可用,用1表示资源已被占用。

关锁原语和开锁原语分别用lock和unlock表示,描述如下:lock(int *w){whlie(*w= =1);*w=1;}unlock(int *w){*w=0;}利用关锁原语和开锁原语实现互斥的算法描述如下:…lock(w);临界区;unlock(w);…4.桌上有一空盘,只允许存放一个水果。

爸爸可向盘中放苹果,也可向盘中放桔子。

儿子专等吃盘中的桔子,女儿专等吃盘中的苹果。

规定当盘中空时一次只能放一只水果供吃者取用,请用P、V原语实现爸爸、儿子、女儿三个并发进程的同步。

分析与解答在本题中,爸爸、儿子、女儿共用一个盘子,且盘中一次只能放一个水果。

当盘子为空时,爸爸可将一个水果放入果盘中。

若放入果盘中的是苹果,则允许女儿吃,儿子必须等待;若放入果盘中的是桔子,则允许儿子吃,女儿必须等待。

本题实际上是生产者-消费者问题的一种变形。

这里,生产者放入缓冲区的产品有两类,消费者也有两类,每类消费者只消费其中固定的一类产品。

在本题中,应设置三个信号量S、So、Sa,信号量S表示盘子是否为空,其初值为1;信号量So表示盘中是否有桔子,其初值为0;信号量Sa表示盘中是否有苹果,其初值为0。

同步描述如下:semaphore S=1;semaphore Sa=0;semaphore So=0;main( ){cobeginfather();son();daughter();coend}father(){while(1){wait(S );将水果放入盘中;if (放入的是桔子)signal(So);else signal(Sa);}}son( ){while(1){wait(So);从盘中取出桔子;signal(S);吃桔子;}}daughter( ){while(1){wait(Sa);从盘中取出苹果;signal(S);吃苹果;}}5.有5个任务A,B,C,D,E,它们几乎同时到达,预计它们的运行时间为10,6,2,4,8min。

其优先级分别为3,5,2,1和4,这里5为最高优先级。

对于下列每一种调度算法,计算其平均进程周转时间(进程切换开销可不考虑)。

(1)先来先服务(按A,B,C,D,E)算法。

(2)优先级调度算法。

(3)时间片轮转算法。

分析与解答(1)采用先来先服务(FCFS)调度算法时,5个任务在系统中的执行顺序、完成时间及周转时间如下表所示:根据表中的计算结果,5个进程的平均周转时间T为:T=(10+16+18+22+30)/5=19.2min(2)采用最高优先级调度(HPF)算法时,5个任务在系统中的执行顺序、完成时间及周转时间如下表所示:T=(6+14+24+26+27)/5= 19.4min(3)如果系统采用时间片轮转(RR)算法,令时间片为2分钟,5个任务轮流执行的情况为:第1轮:(A,B,C,D,E)第2轮:(A,B,D,E)第3轮:(A,B,E)第4轮:(A,E)第5轮:(A)显然,5个进程的周转时间为:T1=30min、T2=22min、T3=6min、T4=16min、T5=28min。

它们的平均周转时间T为:T=(30+22+6+16+28)/5=20.4min6.考虑由n个进程共享的具有m个同类资源的系统,每个进程一次一个地申请或释放资源,假设每个进程对该资源的最大需求量都小于m大于0,而且所有最大需求量之和小于m+n,证明该系统是死锁无关的。

分析与解答设max(i)表示第i个进程的最大资源需求量,need(i)表示第i个进程还需要的资源数,alloc(i)表示第i个进程已分配的资源数。

可知:max(1)+…+max(n)=(need(1)+…+need(n))+(alloc(1)+ …+alloc(n))<m+n (1)如果这个系统发生了死锁,那么一方面m个资源应该全部分配出去,即alloc(1)+ …+alloc(n)=m (2)另一方面所有进程陷入无限等待状态。

由(1)、(2)式可知,need(1)+…+need(n)<n上式表示,死锁发生后,n个进程还需要的资源数之和小于n,意味着此时至少存在一个进程i,need(i)=0,即它已获得所需要的全部资源,那么它就能执行完毕并释放它占有的资源,这与前面的假设矛盾,从而证明该系统不会死锁。

7.如图2.6所示,有多个PUT操作同时向BUFF1放数据,有一个MOVE操作不断地将BUFF1的数据移到Buff2,有多个GET操作不断地从Buff2中将数据取走。

BUFF1的容量为m,BUFF2的容量是n, PUT、 MOVE、 GET每次操作一个数据,在操作的过程中要保证数据不丢失。

试用wait、signal原语协调PUT、 MOVE的操作,并说明每个信号量的含义和初值。

图2.6 进程操作图分析与解答(1)确定并发的操作本问题是消费者和生产者问题的变形。

多个PUT操作与一个MOVE操作并发进行,多个GET操作与一个MOVE操作并发进行。

因此本题涉及三类进程:PUT类进程,有多个;GET类进程,有多个;MOVE类进程,有1个。

(2)操作规则只有buff1有空间才能进行PUT操作;只有buff1有数据,buff2有空间才能进行MOVE 操作;只有buff2有数据才能进行GET操作;不允许多个进程同时操作buff1;不允许多个进程同时操作buff2。

(3)设置6个信号量full1、empty1、B-mutex1、full2、empty2、B-mutex2,它们的含义和初值如下:∙full1表示buff1是否有数据,初值为0;∙empty1表示buff1有空间,初值为m;∙B-mutex1表示进程对buff1互斥操作,初值为1;∙full2表示buff2是否有数据,初值为0;∙empty2表示buff2有空间,初值为n;∙B-mutex2表示buff2是否可操作,初值为1;(4)wait、signal操作实现<PUT类进程>{While (1){wait(empty1);/*判断buff1是否有空间,没有则等待*/wait(B-mutex1);/*是否可操作buff1*/向buff1中放入一个数据;signal(B-mutex1);/*设置buff1可操作标志*/signal(full1);/*将buff1中数据个数增加一个*/}}<MOVE类进程>{While (1)wait(full1);/*判断buff1是否有数据,没有则等待*/wait(empty2);/*判断buff2是否有空间,没有则等待*/wait(B-mutex1);/*是否可操作buff1 */wait(B-mutex2);/*是否可操作buff2 */将buff1中的一个数据移到buff2;signal(B-mutex1);/*设置buff1可操作标志*/signal(B-mutex2);/*设置buff2可操作标志*/signal(empty1);/*将buff1中的空间增加一个*/signal(full2);/*将buff2中的数据增加一个*/}}<GET类进程>{While (1)wait(full2);/*判断buff2是否有数据,没有则等待*/wait(B-mutex2);/*是否可操作buff2*/从Buff2中将数据取走一个;signal(B-mutex2);/*设置buff2可操作标志*/signal(empty2);/*将buff2中的空间增加一个*/}}8.有一个具有两道作业的批处理系统,作业调度采用短作业优先的调度算法,进程调度采用以优先数为基础的抢占式调度算法。

在下表所示的作业序列中,作业优先数即为进程(2)计算平均周转时间。

分析与解答在本题中,每个作业的运行将经历两级调度:作业调度和进程调度。

作业调度采用短作业优先调度算法,进程调度采用基于优先数的抢占式调度算法,高优先级的进程可以抢占系统处理机。

只有当作业调度程序将作业装入内存后,方能参与进程调度。

本题中的批处理系统是两道作业系统,因此每次只能有两道作业进入系统内存。

本题中的作业和进程推进顺序如下:10:00时,A作业到达。

因系统的后备作业队列中没有其他作业,进程就绪队列中也没有进程,故作业调度程序将作业A调入内存并将它排在就绪队列上,进程调度程序调度它运行。

10:20时,B作业到达。

因系统的后备作业队列中没有其他作业,故作业调度程序将作业B调入内存并将它排在就绪队列上。

而作业B的优先级高于作业A的优先级,进程调度程序停止作业A的运行,将作业A放入就绪队列,调度作业B运行。

此时,系统中已有两道作业在内存中运行,作业A已运行20分钟,还需运行20分钟才能完成。

l0:30时,C作业到达。

因系统中已有两道作业在内存中运行,故作业C只能在后备作业队列中等待作业调度。

此时,作业B已运行了10分钟并将继续运行,还需运行20分钟才能完成;作业A已等待l0分钟并将继续等待、还需运行20分钟才能完成。

10:50时,B作业运行30分钟结束运行,D作业到达。

因系统中只有作业A在内存中运行,作业后备队列中有C、D两作业,按短作业优先的作业调度策略,作业D被作业调度程序选中,装入内存运行,作业C仍在后备作业队列中等待作业调度。

相关文档
最新文档