- 1、本文档共36页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
哈工程考研课件-第2章管程
* 4.3.2 进程的同步机制──管程 管程的提出 采用PV同步机制来编写并发程序,对于共享变量及信号量变量的操作将被分散于各个进程中 缺点: (1)易读性差,因为要了解对于一组共享变量及信号量的操作是否正确,则必须通读整个系统或者并发程序 (2)不利于修改和维护,因为程序的局部性很差,所以任一组变量或一段代码的修改都可能影响全局 (3)正确性难以保证,因为操作系统或并发程序通常很大,要保证这样一个复杂的系统没有逻辑错误是很难的 管程:一种同步机制 (管程-类程-进程) 管程定义: 指关于共享资源的数据及在其上操作的一组过程或共享数据结构及其规定的所有操作 系统按资源管理的观点分解成若干模块,用数据表示抽象系统资源,同时分析了共享资源和专用资源在管理上的差别,按不同的管理方式定义模块的类型和结构,使同步操作相对集中,从而增加了模块的相对独立性 管程:集中式同步机制,它的基本思想是将共享变量以及对共享变量能够进行的所有操作集中在一个模块中,一个操作系统或并发程序由若干个这样的模块所构成,由于一个模块通常较短,模块之间关系清晰,提高了可读性,便于修改和维护,正确性易于保证 管程的形式 TYPE monitor_name = MONITOR; 共享变量说明 define 本管程内所定义、本管程外可调用的过程(函数)名字表 use 本管程外所定义、本管程内将调用的过程(函数)名字表 PROCEDURE 过程名(形参表); 过程局部变量说明; BEGIN 语句序列; END; ...... FUNCTION 函数名(形参表):值类型; 函数局部变量说明; BEGIN 语句序列; END; ...... BEGIN 共享变量初始化语句序列; END; 管程的三个主要的特性: (一)模块化,一个管程是一个基本程序单位,可以单独编译 (二)抽象数据类型,管程是一种特殊的数据类型,其中不仅有数据,而且有对数据进行操作的代码 (三)信息掩蔽,管程是半透明的,管程中的外部过程(函数)实现了某些功能,管程中的外部过程(函数)实现了某些功能,至于这些功能是怎样实现的,在其外部则是不可见的 管程有如下几个要素: (一)管程中的共享变量在管程外部是不可见的,外部只能通过调用管程中所说明的外部过程(函数)来间接地访问管程中的共享变量 (二)为了保证管程共享变量的数据完整性,规定管程互斥进入 (三)管程通常是用来管理资源的,因而在管程中应当设有进程等待队以及相应的等待及唤醒操作 问题:多个进程出现在管程中 当一个进入管程的进程执行等待操作时,它应当释放管程的互斥权;当一个进入管程的进程执行唤醒操作时(如P唤醒Q),管程中便存在两个同时处于活动状态的进程 处理方法有三种: P等待Q继续,直到Q退出或等待? Q等待P继续,直到P等待或退出 规定唤醒为管程中最后一个可执行的 操作 因为管程是互斥进入的,所以当一个进程试图进入一个巳被占用的管程时它应当在管程的入口处等待,因而在管程的入口处应当有一个进程等待队列,称作入口等待队列 如果进程P唤醒进程Q,则P等待Q继续,如果进程Q在执行又唤醒进程R,则Q等待R继续,……,如此,在管程内部,由于执行唤醒操作,可能会出现多个等待进程,因而还需要有一个进程等待队列,这个等待队列被称为紧急等待队列。它的优先级应当高于入口等待队列的优先级 由于管程通常是用于管理资源的,因而在管程内部,应当存在某种等待机制。当进入管程的进程因资源被占用等原因不能继续运行时使其等待。为此在管程内部可以说明和使用一种特殊类型的变量,称作条件变量: VAR C:condition; 对于条件型变量,可以执行wait和signal操作: wait(c):如果紧急等待队列非空,则唤醒第一个等待者;否则释放管程的互斥权,执行此操作的进程的PCB入c链尾部 signal(c):如果c链为空,则相当于空操作,执行此操作的进程继续;否则唤醒第一个等待者,执行此操作的进程的PCB入紧急等待队列的尾部 管程的实现 两个主要途径: * 直接构造 * 间接构造,即用某种已经实现的同步机制去构造 前者效率高 例子:用PV操作构造管程 管程的四个组成部分: 名称 数据结构说明 对该数据结构进行操作的一组过程/函数 初始化语句 TYPE one_instance=RECORD mutex:semaphore;(初值1) urgent:semaphore;(初值0) urgent_count:integer;(初值0) END; TYPE monitor_elements=MODULE; de
您可能关注的文档
- 各种风格讲解.ppt
- 合同法——经济法课件.ppt
- 合同法 的全部教案.ppt
- 各类房产物业交房标准.ppt
- 各种静脉置管固定方法.ppt
- 合肥工业大学 信号与系统 课件chapter1.ppt
- 合肥律师谈当事人聘请律师最常见的四大误区.pptx
- 合肥工业大学 信号与系统 课件chapter4.ppt
- 合肥工业大学 信号与系统 课件chapter6.ppt
- 合成氨装置介绍.ppt
- 河北省唐山市路北区2025年部编版小升初语文试卷(含答案解析).pdf
- 护理质量管理及查对制度知识测试试卷.docx
- 2025年长白山职业技术学院单招职业技能测试题库含答案(达标题).docx
- 27 跨学科实践“调研我国造船与航海方面的成就”(教学设计)-【跨学科实践】初中物理项目化课程案例.docx
- 河北省唐县第一中学2025届高三上学期10月月考语文试卷及答案.pdf
- 2025年河源职业技术学院单招职业技能测试题库(含答案).docx
- 河南省 2025 年教师职业素质和技能考试试卷(A) .pdf
- 电气安全全方位解析-从原理到实践,安全无小事.pptx
- 2025年新疆轻工职业技术学院单招职业技能测试题库及答案(有一套).docx
- 河南省焦作市2025部编版小升初语文基础知识深度题集进阶版 .pdf
最近下载
- 【培训课件】财务管理工作中存在的问题和解决措施.ppt VIP
- 《针刺伤预防与处理》团体标准解读与实践PPT课件.pptx VIP
- 碳素、活性炭生产加工项目环评报告书.pdf VIP
- 《曹刿论战》第2课时示范公开课教学PPT课件【统编人教版九年级语文下册】.pptx
- (含图)原神家具负载表及计算器2.0.5.4.xlsx
- 【培训课件】财务管理与集团内部控制.ppt VIP
- DB50T 632-2015 火灾高危单位消防安全评估规程.pdf VIP
- 长庆油田公司第一采气厂地面产能建设工程 竣工资料编制办法.pdf
- AI能力融入职业院校教师数字素养培养的路径研究.docx VIP
- SB_T 11094-2014中药材仓储管理规范.pdf
文档评论(0)