第二章进程的描述与控制20140918.ppt

  1. 1、本文档共104页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第二章进程的描述与控制20140918

补充:进程管理功能: (1)进程控制:控制进程状态转换; (2)进程同步:进程间运行顺序的协调: 互斥方式; 同步方式: (3)进程通信:进程间的信息交换 直接通信; 间接通信。 (4)进程调度: 教材P54:图2-12前驱图: 如果将消费者的两个P操作对调? 生产者i 消费者j 生产出一产品; P( mutex); P( empty ) ; P( full); P( mutex ) ; 从缓冲区取出一产品; 将该产品放入缓冲区; V(mutex); V( mutex ) ; V(empty); V( full ) ; 消费该产品; 如果将消费者的两个V操作对调?? 生产者i 消费者j 生产出一产品; P( full); P( empty ) ; P( mutex); P( mutex ) ; 从缓冲区取出一产品; 将该产品放入缓冲区; V(empty); V( mutex ) ; V(mutex); V( full ) ; 消费该产品; =》例1 某小型超级市场,可容纳50人同时购物。入口处有足够的篮子,每个购物者可拿一只篮子入内购物。出口处结帐,并归还篮子(出、入口禁止多人同时通过)。试用信号量和P、V操作写出购物者的同步算法。 解答: ①所用信号量设置如下: Ⅰ)资源信号量S,初值为50,用以保证最多可以有50个购物者同时进入超市。 Ⅱ)互斥信号量mutex,初值为1,用以保证同时只能有一个购物者进程进入出入口拿起篮子或者结帐后放下篮子。 ②用信号量机制给出的每个购物者购物过程的算法描述如下: 购物者i(解法一) 购物者i(解法二): P(S); P(S); P(mutex); P(mutex1); 从入口处进超市,并取一只篮子; 同左; V(mutex); V(mutex1); 进超市内选购商品; 同左 ; P(mutex); P(mutex2); 到出口结帐,并归还篮子; 同左 ; V(mutex); V(mutex2); 从出口离开超市; 同左 ; V(S); V(S); ↓ ↓ 结 束. 结 束. =》例2: 桌上有个只能盛得下一个水果的空盘子。爸爸可向盘中放苹果或桔子,儿子专等吃盘中的桔子,女儿专等吃盘中的苹果。规定:当盘子空时,一次只能放入一个水果供吃者取用。试用信号量和P、V操作实现爸爸、儿子和女儿这三个循环进程之间的同步。 解答:①所用信号量设置如下: Ⅰ)同步信号量empty,初值为1,表示盘子是空的,即儿子或女儿已把盘中的水果取走。 Ⅱ)同步信号量orange,初值为0,表示爸爸尚未把桔子放入盘中。 Ⅲ)同步信号量apple,初值为0,表示爸爸尚未把苹果放入盘中。 ②使用信号量机制的三个进程的同步描述如下: 爸爸进程(P): 儿子进程(C1): 女儿进程(C2): P(empty); P(orange ); P(apple); 将水果放入盘中; 从盘中取出桔子; 从盘中取出苹果; 若放入的是桔子, V(empty); V(empty); 则V(orange); 吃桔子; 吃苹果; 否则,V(apple); 管道通信应注意的问题: 2. 管道通信机制: 2. 管道通信机制: 3 消息传递系统 在消息传递系统中,进程间的数据交换是以消息(message,在计算机网络中又称报文)为单位。程序员直接利用系统提供的一组通讯命令(原语)来实现通讯。 (1)消息格式: 消息头 消息正文 消息头:存放消

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档