第4章进程及进程管理3摘要.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * 算法描述: main() { int chairs=n; /*以下为信号量*/ int mutex; int customers=0;/*等待服务的顾客数*/ int barbers = 1;/*等待顾客的理发师数*/ cobegin barber (); customer (); coend } barber() { while(TRUE) { P(cutomers); /*若无顾客,理发师睡眠*/ P(mutex); chairs=chairs +1; V(mutex); cut-hair( ); /*正在为一个顾客理发*/ V(barbers); /*理发师空闲*/ } } customer() { P(mutex); if(chairs 0) { chairs = chairs -1; V(mutex); V(customers); /*必要的话唤醒理发师*/ P(barbers); /*无理发师, 顾客坐着养神*/ get-haircut( ); /*一个顾客坐下理发*/ } else { V(mutex); /*人满了,走吧!*/ } } 理发师问题(同步互斥共存) * * 思考题(读者-写者问题) 一个数据对象为多个进程共享,它们中有可能为作者(即写数据),也有可能为读者(即读数据),多个读进程同时读数据不受任何影响,但当作者写数据时,必须保证操作的唯一性,试分析他们的并发过程。 (提示:该问题为纯互斥问题,可设置一全局变量,以记录当前的读者数目,只有当读者数目为0时作者才能写数据,且多个作者间应互斥访问。) 汽车行车问题: 公共汽车上,司机和售票员的活动分别是: 司机的活动: 启动车辆; 正常行车; 到站停车; 售票员的活动: 关车门; 售票; 开车门; 在汽车不断地到站、停车、行驶过程中,这两个活动有什么同步关系?用P、V操作实现它们的同步。 * * * * * * 作业 第4章 12、14 、15 操作系统与实验教程 第3章第4讲 操作系统与实验教程 第3章第4讲 * * 4.4 进程之间的约束关系 问题的提出 为了解决多道程序并发执行时产生的与时间有关的错误,协调并发进程间的正常运行,需先分析进程间的各种可能的约束关系。 4.4.1 进程的竞争与合作 进程间相互制约关系分两种: 1、竞争系统资源:处理机的竞争,内存页面的竞争,进程向系统申请,由系统统一分配。 2、进程协作:进程间通过同步机构自行协调。信息共享,并行处理。 * * 4.4.2 进程互斥的概念 两个概念:临界资源与临界区。 1.临界资源 临界资源指的是一次只允许一个进程使用的独占资源。诸进程对它的访问必须互斥。(包括可能的系统资源及用户资源) 2.临界区 临界区是指包含了访问临界资源的那段程序。 临界区作为特殊的程序段进行如下处理: 1)进程在进入临界区之前必须先申请, 2)当且仅当临界区中涉及的临界资源没有其它进程使用时才能进入临界区; 3)在出临界区后立即释放临界资源。 * * 4.4.2 进程互斥的概念 互斥必要条件: ⑴.诸进程共享同一个临界资源; ⑵.共享的方式是先来者先使用的异步方式。 只有同时满足以上两个必要条件的多进程共享临界资源的问题,才是互斥问题。 操作系统提供的互斥机制必须满足以下要求: (临界区问题的解答必须满足的要求) 1.实现互斥:即任意时刻最多只能有一个进程进入临界区,执行临界区的进程不能受到其它进程的干扰。 2.有空让进:当临界资源空闲时,应该允许申请进入临界区的进程进入临界区。 3.有限等待:对要求进入临界区的进程,应在有限时间内进入,以免陷入“死等“;进入临界区的进程不能被无限期地延迟或死锁 * * 4.4.3 进程同步的概念 同步问题:当各进程的执行具有一定先后顺序的限制时,称为同步问题。 同步与互斥的比较: 是否一定共享临界资源 运行方式 互斥问题 一定 异步:先来者先进入,无先后顺序,异步 同步问题 不一定 同步:有先后顺序 同步互斥混合问题 一定 进入临界区异步执行、进程间同步 * * 4.4.3 进程同步的概念 解决同步问题的信号量为私有信号量,局限于需要同步的协作进程之间使用。 协作进程之间的关联属

文档评论(0)

基本资料 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档