- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第四章 进程同步与死锁 1.进程同步的基本概念 2.临界区互斥的基本方法 3.信号量机制 4.经典的同步问题 5.管程概念 6.进程间通信 7.死锁 1.进程同步的基本概念 (1) 进程间交互关系 (2) 进程同步概念 (3) 进程互斥概念 (1)进程间的交互关系 竞争关系 无关进程-指系统中的多个进程 之间彼此无关,它们并不知道其它 进程的存在,也不受其它进程执行 的影响。但这些进程共享了一套计算机系统资源,因 而,必然要出现多个进程竞争资源的问题 协作关系 相关进程--指系统中某些进程为 完成同一任务需要分工协作,他们需 要在某些协调点上协调各自的工作。 基本概念 同步 进程之间的一种通信方式,有时序上的制约关系,或者说是进程之间为了协同工作而存在的一种等待关系。 互斥 进程之间对临界资源的一种竞争关系,排他性地对资源的访问方式。 (2)进程的同步(直接作用) 进程的同步:synchronism 指系统中多个进程中发生的事件存在某种 时序关系,需要相互合作,共同完成一项 任务。进程的这种关系为进程的同步 同步关系分类: 一类是一组相互有逻辑关系的进程间的同步, 一类是共享缓冲区的合作进程而引起的同步。 例1 司机与售票员 例2 Z=func1(x)*func2(y) (3)进程的互斥(间接作用) 进程的互斥 由于各进程共享资源,而有些资源需要互斥使用,因此各进程间竞争使用这些资源,进程的这种关系为进程的互斥 (3)进程的互斥(间接作用) 临界资源:critical resource 系统中某些资源一次只允许一个进程使用,称这样的资源为临界资源或互斥资源或共享变量 临界区(互斥区):critical section 在进程中涉及到临界资源的程序段 相关临界区 多个进程共享同一临界资源的各临界区 例1 临界资源互斥 例2 共享变量 设有两个进程P1、 P2, 它们共享同一变量 count, P1、 P2 的主要操作如下: P1:R1∶=count; P2: R2∶=count; R1∶=R1+1; R2∶=R2+1; count∶=R1; count∶=R2; 产生与时间有关错误 它们可以按各自独立的速度前进,所以运行的顺序也可能是: P1: R1∶=count; P2: R2∶=count; P1: R1∶=R1+1; count∶=R1; P2: R2∶=R2+1; count∶=R2; 进程同步与互斥特点比较 思考题 例举两个现实生活中需要同步与互斥的 例子,你是如何处理的? 进程同步与互斥之间的关系? 互斥:是指某一资源同时只允许一个访问者对其进行访 问,具有唯一性和排它性。但互斥无法限制访问者对资源 的访问顺序,即访问是无序的。 同步:是指在互斥的基础上(大多数情况),通过其它机 制实现访问者对资源的有序访问。在大多数情况下,同步 已经实现了互斥,特别是所有写入资源的情况必定是互斥 的。少数情况是指可以允许多个访问者同时访问资源 互斥与同步区别: 具有同步关系的进程间在逻辑上不独立,它们有协作关系,执行的时间次序上要遵循确定的规律。 具有互斥关系的进程逻辑上完全独立,执行上不具有时间次序特征。 2. 临界区互斥的基本方法 使用临界区的原则 空闲让进:当无进程处于临界区内时,允许一个进程立 即进入 忙则等待:当已有进程在临界区时,其它试图进入临界 区的进程必须等待 有限等待:任何进入临界区的进程,要求应在有限的时 间内得到满足 让权等待:处于等待状态的进程应放弃占用CPU,以使 其它进程有机会得到CPU的使用权 临界区的访问过程 对于临界区的访问过程分为四个部分: ?1.进入区:查看临界区是否可访问,如果可以访问,则转到步骤二,否则进程会被阻塞 ?2.临界区:在临界区做操作 ?3.退出区:清除临界区被占用的标志 ?4.剩余区:进程与临界区不相关部分的代码 临界区互斥的软件实现的基本方法 最先想到的办法是纯软件的:规定各进程使用临界资源的方法,即给使用临界资源的进程规定一个使用协议(Protocol),通过该协议保护临界资源。协议如下: 1.各进程对临界资源的使用必须经过如下三步: (1)申请、(2)使用、(3)释放。 不能越过申请而直接使用临界资源。 因此,各进程临界区的格式如下: Entercritical(R); //申
您可能关注的文档
最近下载
- 浅析《诗经》婚恋诗中的水意象和其成因(初稿)(作者马雄雄).doc VIP
- 《白血病的护理》课件.ppt VIP
- 试论《诗经》婚恋诗中的水和树意象-毕业论文.doc VIP
- 常用电气元器件选用.ppt VIP
- 西安市高新区第三初级中学小升初数学初试试题及答案解析.docx VIP
- 常用电子元器件的选用与检测目录.pdf VIP
- 2025辐射安全与防护培训考试题库(含参考答案).docx VIP
- (2025)辐射安全与防护培训考试题库(含参考答案).docx VIP
- 20GWh锂电池项目环评环境影响报告表(新版环评).pdf
- 电力企业合规管理存在的问题及对策_20250128_120531.docx VIP
文档评论(0)