进程管理-无答案.doc_第1页
进程管理-无答案.doc_第2页
进程管理-无答案.doc_第3页
进程管理-无答案.doc_第4页
进程管理-无答案.doc_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

进程管理(第四章)练习题一、填空题 1进程的“同步”和“互斥”反映了进程间 直接制约 和 间接制约 的关系。 2死锁产生的原因是 竞争资源产生死锁 和 进程推进顺序不当 。 3产生死锁的四个必要条件是 互斥条件 、 请求与保持条件 、 非剥夺条件 、 循环等待条件 。 4在操作系统中,信号量是表示 资源 的物理实体,它是一个与 队列 有关的整型变量,其值仅能由 pv 原语来改变。 5每执行一次P原语,信号量的数值S减1。如果S=0,该进程 继续执行 ;若S0 ,进程继续执行;如果S=0,则从对应的 等待 队列中移出一个进程R,该进程状态变为 就绪 。 7利用信号量实现进程的 互斥 ,应为临界区设置一个信号量 mutex。其初值为 1 ,表示该资源尚未使用,临界区应置于 p 和 v 原语之间。 8在多道环境下,由于进程的并发执行,一段程序为多个进程 共享 时,要求在执行的过程中,该段程序的指令和数据不能被 修改 ,这样的程序段称为 纯过程 。二、单项选择题 1在非剥夺调度方式下,运行进程执行V原语之后,其状态 A 。 (A)不变 (B)要变 (C)可能要变 (D)可能不变 2两个进程争夺同一个资源 B 。 (A)一定死锁 (B)不一定死锁 (C)不死锁 (D)以上说法都不对 3 E 是一种只能由P操作和V操作进行访问的特殊变量,可以用来实现异步并行进程间的 D 以排它地访问共享数据,还可以用来实现 G,实现进程间在逻辑上的相互制约关系。 (A)调度 (B)类程 (C)进程 (D)互斥 (E)信号量 (F)控制变量 (G)同步 (H)共享变量 (I)规程 (J)分配 4可以被多个进程在任一时刻共享的代码必须是 A 。 (A)不能自身修改的纯码 (B)顺序代码 (C)无转移指令的代码 (D)汇编语言编制的代码 5当对信号量进行V原操作之后, C 。 (A)当S0,要唤醒一个就绪进程 (C)当S=0,要唤醒一个等待进程 (D)当S=0,要唤醒一个就绪进程 6在下列叙述中,错误的一条是 A 。 (A)进程被撤消时,只需释放该进程的PCB就可以了,因为PCB是进程存在的唯一标志 (B)进程的互斥和同步都能用P/V原语实现 (C)用户程序中执行系统调用命令时,处理机的状态字将发生改变 (D)设备独立性是指用户在编程时,所使用的设备与实际设备无关 7正在运行的进程在信号量S上作P操作之后,当S)个进程,则系统中最不可能的是有 B 个进程处于死锁状态。 (A) (B) (C) (D)(0,消费者调用P(full)后总可去取物品。每取走一件物品后,由于调用V(empty),便增加了一个可用来存放物品的位置。用指针k和t分别指示生产者往缓冲器存物品和消费者从缓冲器中取物品的相对位置,它们的初值为0,那么,一个生产者和一个消费者共用容量为n的缓冲器时,可如下进行同步工作: 设信号量empty,full,初值为empty=n,full=0;整型变量k,t,初值k=t=0。 生产者进程: begin L1:produce a product; P(empty); Bk:=product; k:=(k十1)mod n; V(full); go to L1 end; 消费者进程: begin L2:P(full); take a product from Bt; t:(t1)mod n; V(empty); consume; go to L2 end 5进程通信方式有两种即:直接通信、间接通信,给出各自使用的原语形式。 6产生死锁的原因是什么? 7死锁发生的必要条件有哪些? 8阐述预先静态分配法是如何进行死锁预防的。第一个策略就是预先静态分配法,这是针对部分分配条件的策略。要求每一个进程在开始执行前就申请它所需要的全部资源,仅当系统能满足进程的资源要求且把资源分配给进程后,该进程才能开始执行。 这个策略毫无疑问能够防止死锁的发生,因为这样做破坏了部分分配条件,但是它导致了严重的资源浪费。例如一个进程可能在运行到最后时需要一台打印机打印结果数据,但必须在进程运行前就把打印机分配给它,而且在进程运行的过程中并不使用打印机。 9阐述按序分配资源法是如何进行死锁预防的。 10为什么说不能通过破坏“互斥条件”来预防死锁。 11防止死锁的分配策略中,它们各自存在的缺点。 12解决临界段问题的原则是什么? 13现有四个进程:R1,R2,W1和W2,它们共享可以存放一个数的缓冲区B。进程R1每次把从键盘上读入的一个数存到缓冲区B中,供进程W1打印输出;进程R2每次把从磁盘上读一个数存放到缓冲区B中,供进程W2打印输出。怎样用P、V操作协调四个并发进程的工作。六、综合应用题1设有3个并发执行的进程:输入进程Pi、计算进程Pc和输出进程Po。其中进程Pi不断地从键盘读入整数,放入缓冲区Buf1,Pc按输入顺序从Buf1中取数据,每次取出2个整数,计算其和,将结果放入缓冲区Buf2。Po负责将Buf2中的数据按顺序输出。设缓冲区Buf1、Buf2可存放的整数个数分别为m、n(m、n0)。要求利用信号量的P、V操作写出进程Pi、Pc、Po的算法。2今有3个并发进程R、M、P,它们共享一个缓冲器B。进程R负责向B中输入数据;进程R每输入一数据,进程M对其进行加工;进程M加工完成后,进程P负责打印输出。缓冲器B中每次只能存放一个数据,数据一旦被打印,进程R又可存放下一个数据,。它们之间的关系如图所示。R缓冲器BPM 用PV操作机制进行控制,写出三个进程的工作流程。3、有一个阅览室,共有100个座位,读者进入时必须先在一张登记表上登记,该表为每一座位列一表目,包括座号和读者姓名等,读者离开时要消掉登记的信息,试问:(1)为描述读者的动作,应编写几个程序,设置几个进程?(2)试用PV操作描述读者进程之间的同步关系。4、有N个并发进程,设S是用于互斥信号灯,其初值S=3,当S=-2时,意味着什么?当S=-2时,执行一个P(S)操作,后果如何?当S=-2时,执行一个V(S)操作,后果又如何?当S=0,又意味着什么?5、多个进程对信号量S进行了5次P操作,2次V操作后,现在信号量是-3,与信号量S相关的处于阻塞状态的进程有几个?信号量的初值是多少?6、桌上有一空盘,只允许存放一个水果,爸爸可向盘中放苹果,也可以向盘中放橘子,儿子专吃盘中的橘子,女儿专等着吃盘中的苹果,规定当盘中空时一次只能放一个水果供吃者取用,请用P,V原语实现,爸爸,儿子,女儿,三个并发进程的同步。分析如下:是一个生产者消费者问题。7、系统有三个进程Read,Write1,Write2共享一个整数缓冲器b,b中每次只能存放一个整数。Read进程每次启动输入设备输入一个整数到b。若b中是奇数,则由进程Write1将其取出打印;若b中是偶数,则由进程Write2将其取出打印。规定输入与打印整数的个数和次序完全一致。要求:(1)完善如下程序,在下列A、B空白处填入有关语句,并说明物理意义。begin S,SO,SE:semaphore; b:integer; S:=1; SO:=0; SE:=0;Cobegin process ReadBeginL1:从输入设备读一整数到X; P(S); b:=X; if b=奇数 then V(SO) else V(SE);Goto L1 end;process write 1begin L2:P(SO);Y:=b; (A) ;print Y;goto L2end;process write 2beginL3:(B) ;Z:=b;V(S);Print Z;goto L3end;coend;end;(2)说明信号量S,SO,SE作用及它们的初值的物理意义。(3)Read进程中V(SO)与V(SE)对调,程序功能将发生什么变化。8、用PV操作解决读者写者问题的正确程序如下: begin S, Sr: Semaphore; rc: integer; S:=1; Sr:=1; rc:=0; cobegin PROCESS Reader i ( i=1,2) begin P(Sr) rc:=rc+1; if rc=1 then P(S); V(Sr); read file; P(

温馨提示

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

评论

0/150

提交评论