09年自考“操作系统概论”习题解答之并发进程_第1页
09年自考“操作系统概论”习题解答之并发进程_第2页
09年自考“操作系统概论”习题解答之并发进程_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、09 年自考“操作系统概论”习题解答之并发进程第7 章 习题解答1.什么叫并发进程?答:在多道程序设计系统中,作为单个作业可以同时执行而每一个作业又需要有多个进程的协作来完成因此系统会同时存在着许 多进程在单处理器的情况下这些进程轮流的占用处理器即一个进程的工作没有全部完 成之前另一个进程就开始工作我们说这些可同时执行的进程具有并发性并且把可同时 执行的进程称“并发进”。2.临界区是怎样定义?对临界区的办理应符合哪些要求? 答并发进程中与共享变量有关的程序段称“临界”对若干个并发进程共享某一变量的 相关临界区得办理有三点要求:一次至多一个进程能够进入临界区当有进程在临界 区执行时其他想进入临界

2、区执行的进程必需等待。不能让一个进程无限制的在临界区执行即任何一个进入临界区的进程必需有限的时间内退出临界区。不能强迫一个进程无限期等待键入它的临界区即有进程退出临界区时应让一个等待进入临界区的进程进 入它的临界区执行。3.采用 PV 操作作为同步机构时,假定与某共享变量相关的信号量S 的值可-1,l之间,问S 的初值是哪个值?当S=1,S=0,S=l 时它们各自的物理含义是什么?答:S 的初值是 1.Sl,表示有一个进程在等待进入临界区执行。S0,表示已有一个进程在临界区执行,这时若有进程想进入临界区则必需等待。S l,表示无进程在临界区执行,若有进程想进入临界区则可以立即进入。4.AB 两

3、个火车站之间是单轨连接的,现有许多列车同时到A 站,须经A 再到达B 站,列车出B 站后又可分路行驶(如图72)为包管行车安全,请你当调度时,你将如何调度列车?请你PV 操作为工具设计一个能实现你的调度方案的自动调度系统。答:当AB 两站之间无列车停驶时,可让到达A 站的一列车进人AB 站之间行驶。当A 石站之间有列车在行驶时,则到达A 站者必需在站外等待。当有列车到达B 站后,让等在A 站外的一列车进入。用一个信号量S 来控制到达A 站的列车能否进入单轨道行驶 的初始值为l. 列车到达A 站后,先执行P(S,若无列车在、B 站之间行驶,则执行P)后立即进人单轨道行驶,到达B 站后,执行(S,

4、可释放一个等待进入的列车进入行驶。若B站之间已有列车在行驶,则执行P(S)后就等待,直到行驶者到了B 站执行 V(S)后释放一个欲进入者。5.今有三个进程P,它们共享一个缓冲区R 负责从输入设备读信息每次读出一个记录并把它存放在缓冲区中在缓冲区加工读入的记录把加工后的记录打印输出。输入的记录经加工输出后,缓冲区中又可存放下一个记录。请用PV 操作为同步机构写出他们并发执行时能正确工作的程序。答三个进程共用一个缓冲区他们必需同步工作,可定义三个信号量:S1:表示是否可把读人的记录放到缓冲区, 初始值为 1.S2:表示是否可对缓冲区中的记录加工,初始值为 0.S3:表示记录是否加工好,可以输出,初

5、始值也为0.三个进程可如下设计:beginsemaphore;cobeginprocess Rbegin读记录;S1;记录存入缓冲区;(S;goto L; end; process M begin L(S2; 加工记录; (S; goto L; en; process P begin LS; 输出加工后的记录; (S; goto L; en; coend; end. 6.现有4 个进程R1,R2,W1,W2,它们共享可以存放一个数的缓冲器B.进程R1 每次把从键盘上投入的一个数存放到缓冲器B 中供进程W1 打印输出进程R2 每次从磁盘上读一个数放到缓冲器B 中,供进程W2 打印输出。当一个进程

6、把数据存放到缓冲器后在该数还没有被打印输出之前不准任何进程再向缓冲器中存数在缓冲器中还 没有存入一个新的数之前不允许任何进程加快从缓冲区中取出打印是怎样才能使这四个进 程在并发执行是协调的工作? 答:这四个进程实际上是两个生产者 R1,R2 和两个消费者 各自生成不同的产品中各自的消费对象去消费,他们共享一个的缓冲器。由于缓冲器只能存放一个数,所以 和R2 在存放数时必需互斥。而R1 和W1R2 和W2 之间存在同步。为了协调它们的工作可定义三个信号量:S:表示能否把数存人缓冲器B,初始值为1.S1:表示R1 是否已向缓冲器存入从键盘上读入的一个数,初始值为0. 表示R2 是否已向缓冲器存入从

7、磁盘上读入的一个数初始值为0.beginS2:semaphore;cobeginprocess R1xl :integer beginL从键盘读一个数;x读入的数;(S;Bx; goto end;process R2begin从磁盘读一数;=读入的数;(S;:x;S;goto L;en;processW1y:integer;beginL(S1;y:=B;S;打印 y 中的数;goto L3;end;process W2z:integerbeginLS2;z:=B;V(;打印z中的数;goto L4;end;coend;end.7.两个并发进程的程序如下:beginN:integer;cobeg

8、inprocess AbeginL1:N:N5;goto end;process Bbeginprin(N;N:0;goto L2;en;coen;end.若process A 先执行了三个循环后process A和 process B又并发执行了一个循环写出可能出现的打印值请用 PV 操作实现同步,使两并发进程能正确执行。答:可能的值是 18 或 23.这是因为 process A执行三个循环后之后 A 和 B 并发执行,可能先执行A 中的5,再执行B 中的prin(;这样就会得到2,也可能先执行B 中的pin(;这就会得到 18.可以利用 P、V 操作实现同步:beginN:integer

9、;S:semphore;S:l;cobeginprocess AbeginL(S;N:N5;VS;gotO end;process BbeginLP(S;prinN;N:0;(S;goto end;coend;end.8.通信机制中设置哪些基本通信原语?它们的功能是什么?答:系统提供两个与信箱通信有关的通信原语 原语(发送)和 receive 原语(接收原语把信件M 送人到信箱B 中,receive(B,X)原语从信箱B 中取出一封信存放到指定的地址X 中。9.什么叫死锁?什么原因会引起死锁?答:若系统中存在一组进程(二个或多个进程,他们中的每一个进程都占用某种资源而又都在等待其中另一个进程所

10、占用的资源这种等待永远不能结束就说系统出死”。进程死锁的起因是系统提供的资源数比要求使用资源的程数少或者是若干个个进程要求资源的总数大于系统能提供的资源数这时进程间就会出现竞争资源的现象如果对进程竞争的资源办理和分配不妥就会引起死锁死锁的出现是与资源分配策略和并发进程的执行速度有关。10.有哪些策略可防止和避兔死锁? 答防止死锁的策略有静态分配按序分配剥夺式分配银行家算法可以避免死锁。11. 某系统有输入机和打印机各一台,今有两个进程都要同时使用他们,采PV 操作实现请求使用和归还释放后还会产生死锁吗?若否说明理由若会产生死锁则给出一种防止死锁的方法。答:如果 PV 操作设计不妥,仍会产生死锁

11、。假如用 S1 S2 别离代表输入机和打印机能否被使用的信号量由于资源是共享的所以必需互斥使用因而它们的初始值都为l.如果用如下方式实现请求使用和归还释放:process QIbegin(S1;使用输入机;(S2;使用打印机;S2;S1;end;processQ2beginPS2;使用打印机;PS1;使用输入机;(S;VS1;en;那么就会出现Q1 得到输入机而Q2 得到打印机,双方在不释放已经有的资源的情况下又去申请新的资源就会造成死锁。可以采用为资源编序号的方法要求按序申请如下:process Q1beginS1;使用输入机;S2;使用打印机; VS2;(S;en;process Q2beginP(S;使用输入机;P(S;使用打印机;(S;(S;end.12.某一系统分配资源的策略是当进程提出申请资源时只要系统有资源中是分配给它系统 无资源时让它登台任一进程总是先释放以占有的资源后在申请新的资源且每次申请一个 资源系统中的进程得到资源后总能在有限时间内归还证明该系统不会发生死锁。答任一进程 P 申请资源时出现两种情况:情况一,立即得到

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论