- 1、本文档共186页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[计算机软件及应用]进程通信
4.1 进程的同步与互斥 4.1.2 临界段问题 如前所述,互斥是由于进程竞争使用资源引起的。 有些硬件资源(如内存、显示器和硬盘)和软件资源(如共享程序段)允许多个进程并发地访问。 但另一些硬件设备(如打印机、磁带机、光盘刻写机、绘图仪等)在一段时间内只允许一个进程独占,只有当该进程使用完毕,释放该类设备后,另一个进程才能使用,多个进程的交叉使用将使输出结果变得毫无意义。 4.1.2 临界段问题 这种在一段时间内只能允许一个进程访问的资源称为临界资源。 除了物理设备外,由若干进程共享访问的变量、数据、数据结构等“无形”的软件资源,也可以是临界资源。 进程执行的访问临界资源的程序段称为临界段或互斥段。 例如,考虑一个统计两个进程 P1和P2对共享变量count访问计数的程序段,它们的有关代码表示如下: P1: R1=count P2: R2=count R1=R1+1 R2=R2+1 count=R1 count=R2 由于在系统中随时可能发生中断,中断处理任务完成后,系统可以重新进行进程调度,因此,如下所示是这两个进程可能的相对执行次序: P1: R1=count R1=R1+1 P2: R2=count R2=R2+1 count=R2 P1: count=R1 虽然P1和P2进程各自都执行了对count加1的操作段,但结果count只增加1,这不符合对 count 的访问计数结果。因此,变量 count 就是临界资源,P1、P2 访问 count 的两个程序段就是临界段,诸进程必须互斥地进入临界段。 不加控制的并发执行所带来的影响 例:为了了解某单行道的交通流量,在路口安放一个监视器,功能是有车通过该路段时,就向计算机发送一个信号。程序A功能:接收到监视器信号时,就在计数单元COUNT上加1;程序B功能:每个半个小时,打印COUNT的值,然后清零。 由此可见,解决共享资源的保护,唯一的办法是互斥的使用共享资源(如变量,代码等)即:一次只允许一个进程访问共享资源。 临界资源和临界区: 临界资源:系统中某些资源一次只允许一个进程使用,称这样的资源为临界资源或互斥资源或共享变量。 临界区(段):访问临界资源的程序段称为临界区。即互斥执行的程序段 互斥的概念 互斥:与一个共享变量(或临界资源)交往的多个进程,为了保证它们各自运行结果的正确性,当其中的一个进程正在对该变量(或临界资源)进行操作时,就不允许其他进程同时对它进行操作。进程间的这种制约关系被称为“互斥”。 对具有互斥关系的进程,要注意以下四点 (1)做为互斥关系的进程,它的一部分可能用于内部的计算,用于内部的数据处理等。只有涉及到共享变量的那一部分程序,才真正需要保证互斥的执行。通常,把进程程序中“真正需要保证互斥执行”的那一段程序,称为该进程的“临界区(或临界段)”。 进入区(entry section):在进入临界区之前,检查可否进入临界区的一段代码。如果可以进入临界区,通常设置相应“正在访问临界区”标志。 退出区(exit section):用于将正在访问临界区标志清除。 (2)具有互斥关系的进程,并不关心对方的存在性。即使对方不存在,自己也能正确运行,不会受到它存在与否的影响。 (3)具有互斥关系进程的临界区,虽然都是针对同一个共享变量的程序段,但在其上的操作可以相同也可以不同。 (4)进程的临界区是相对于某个共享变量而言的,不同共享变量的临界区之间,不存在互斥关系。下面,只要谈到临界区,一定是指相对于同一个共享变量的。 2.临界段的调度原则 能支持各进程互斥地执行临界段的调度机制必须满足下列要求。 ① 在所有共享相同资源或对象的临界段中,每次只能允许一个进程进入。 ② 一个进程在非临界段中的暂停运行不能影响其他进程。 ③ 一个进程如需要进入临界段,不能发生无限延迟的情况,即既不会死锁,也不会饥饿。 2.临界段的调度原则 ④ 当无进程在临界段时,必须让任何希望进入该程序段的进程无延迟地进入。 ⑤ 一个进程只能在临界段内停留有限的时间。 ⑥ 对于相关进程的运行速度和处理机的数量不做假设 协同工作-同步(直接作用) 只有GET先于COPY工作,COPY的工作才有意义;只有COPY取走了R中的内容,GET进入下一步工作才有意义。COPY与PUT之间也有这种类似的关系,这时进程之间由于协同工作而产生的一种直接关系。 GET和COPY协调一致的工作 同步的概念 进程的同步:synchronism 指系统中一些进程需要相互合作,共同完成一项任务。 具体说,一个进程运行到某一点时要求另一个进程为它提供消息,在未获得消息之前,该进程处于等待状态,获得消息后被
您可能关注的文档
- [计算机软件及应用]无线通信的基础知识.ppt
- [计算机软件及应用]智能优化算法.pdf
- [计算机软件及应用]日常网络优化--------------------6.ppt
- [计算机软件及应用]最优合并and八数码问题Java.doc
- [计算机软件及应用]服装商城电子商务系统分析与设计.doc
- [计算机软件及应用]条件随机场.ppt
- [计算机软件及应用]柯志亨老师的ns2课件.ppt
- [计算机软件及应用]校园订餐系统.doc
- [计算机软件及应用]新浪2012介绍_V5.ppt
- [计算机软件及应用]模块1 走进培训项目—讲义.ppt
- 2025年山东青岛市李沧区卫生健康局所属事业单位招聘12人笔试高频难、易错点备考题库及答案详解1套.docx
- 2025年山东省黄河三角洲农业高新技术产业示范区事业单位招聘5人笔试高频难、易错点备考题库及参考答案.docx
- 2025年广东省生物制品与药物研究所招聘12人笔试高频难、易错点备考题库及参考答案详解.docx
- 2025年巴中市上半年引进635名高层次人才和急需紧缺专业人才笔试备考题库及参考答案详解.docx
- 2025年徐州市体育局所属事业单位招聘紧缺型人才笔试高频难、易错点备考题库带答案详解.docx
- 2025年广东东莞市应急管理局自主招聘特别聘员笔试备考题库及答案详解1套.docx
- 2025年山东青岛市卫生健康委员会直属事业单位招聘262人笔试备考题库及答案详解1套.docx
- 2025年山东省事业单位面向喀什籍未就业少数民族高校毕业生招聘笔试高频难、易错点备考题库及完整答案详.docx
- 2025年广西疾病预防控制中心招聘4人笔试备考题库含答案详解.docx
- 2025年广西科学院北部湾海洋产业研究院招聘笔试高频难、易错点备考题库含答案详解.docx
文档评论(0)