- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
进程:概念,特征,进程控制块,状态及其转换,进程与程序的比较 进程的同步与互斥:同步和互斥,临界资源和临界区,信号量机制 线程 管程 P(Wait)、V(Signal)操作 动物园的饲养员喂黑熊,饲养员苹果到盆中,黑熊从盆中抓走苹果吃掉,盆中只能放一个苹果。分别用饲养员进程、黑熊进程模拟饲养员喂黑熊的过程,请用P、V操作(即wait和signal)利用信号量机制实现这两个进程同步 P(wait)、V(signal)操作 如图所示,四个进程和四个信箱 ,进程间借助相邻信箱传递消息,即Pi每次从Mi中取一条消息,经加工后送入Mi+1 ,其中Mi(i=0~3)分别可存放3,3,2,2个消息。初始状态下,M0装了3条消息,其余为空。试以P、V操作为工具,写出 Pi (i=0~3)的同步工作算法。 P(Wait)、V(Signal)操作 设有一台计算机,有两条I/O通道,分别接一台卡片输入机和一台打印机。卡片机把一叠卡片逐一输入到缓冲区B1中,加工处理后再搬到缓冲区B2中,并在打印机上印出,问: (1)系统要设几个进程来完成这个任务?各自的工作是什么? (2)这些进程间有什么样的相互制约关系? (3)用P、V操作写出这些进程的同步算法。 4、试用信号量实现这6个进程的同步 7、四个进程A、B、C、D都要读一个共享文件F, 系统允许多个进程同时读文件F,但限制是: 进程A和进程C不能同时读文件F, 进程B和进程D也不能同时读文件F。 请回答下面的问题: (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. 下述哪些情况是对的? (1) 进程由自己创建; (2) 进程由自己阻塞;(3) 进程由自己挂起; (4) 进程由自己解除挂起;(5) 进程由自己唤醒;(6) 进程由自己撤消。 1. 为什么说PCB是进程存在的唯一标志? 3. 进程和线程的关系是什么?线程是由进程建立的,是吗? 答:进程和线程的关系是:线程是进程内的一个相对独立的可调度的执行单元。 进程在创建时,系统至少需要同时为该进程创建一个线程,即进程中至少要有一个或一个以上的线程,否则进程无法被调度执行。进程是被分给并拥有资源的基本单元,同一进程内的多个线程共享该资源,但线程并不拥有该资源只是使用它们。 线程不是由进程建立的,因为需要时线程可以创建其他线程。 5. 下面是两个并发执行的程序它们能正确执行吗?若不能正确执行请举例说明并改正之(X是公共变量) cobeginvar x: integer;procecc p1 (进程p1)var y, z: integer;beginx: =1;y: =0;if x=1 then y:=y+1z:=yend procecc p2var t, u: integer;beginx:=0;t:=0;if x1 then t:=t+z;u: =tendcoend 6. 设有n个进程共享一互斥段对如下两种情况 1) 每次只允许一个进程进入互斥段; 2) 最多允许M个进程(MN)同时进入互斥段;所采用信号量是否相同?信号量值的变化范围如何? 信箱M0 信箱M3 信箱M2 信箱M1 P0 P1 P2 P3 P1 P2 P3 P6 P4 P5 P7 S12 S13 S14 S45 S25 S36 S56 S76 S27 答:所采用的信号量相同,都为互斥信号量mutex,代表临界资源互斥段。第一种情况mutex初值为1,变化范围为1-N?mutex?1的整数,第二种情况mutex初值为M,变化范围为 N-M?mutex?M的整数。
文档评论(0)