1 / 49
文档名称:

计算机操作系统5.ppt

格式:ppt   大小:1,054KB   页数:49页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

计算机操作系统5.ppt

上传人:63229029 2017/6/9 文件大小:1.03 MB

下载得到文件列表

计算机操作系统5.ppt

相关文档

文档介绍

文档介绍:北京林业大学信息学院六、进程通信?临界资源和临界区?同步与互斥?两个经典的同步/互斥问题?其他同步例子?管程?消息缓冲北京林业大学信息学院?进程通信是进程之间进行信息交换。虽然系统中各个进程异步前进,但有些进程之间必须保持一定的联系,以便协调一致地完成指定任务,这种联系可以通过交换一定数量的信息来实现。?进程的同步与互斥是一种通讯方式,可以用 P、V操作,由传递信号来实现,但信号本身不包含任何数据,也没有数据传送的能力,因此通常称这些同步机构为低级通讯机构。而将能进行进程间大量信息传递的消息通讯称为高级通讯机构。北京林业大学信息学院 ?临界资源( critical resource ):一次仅供一个进程使用的资源。?在进程中涉及到临界资源的程序段叫临界区( critical section )。程序 1 Y=Y+1 output 程序 2 Y=Y+2 output 内存共享区 Y pcb 1 pcb 2 北京林业大学信息学院 Cobegin repeat T1(x); repeat T2(x); Coend 例:在一个飞机订票系统中有两个终端正在分别运行进程 T1 和 T2 ,即分别完成为两位旅客订购机票。 Procedure T2(x) int x; buf2; Begin read(x ); buf2=x; if buf2>=1 then x:=buf2-1; print 机票; End(T2) Procedure T1(x) int x; buf1; Begin read(x ); buf1=x; if buf1>=1 then x:=buf1-1; print 机票; End(T1) 北京林业大学信息学院?阻止进程间发生竞争的办法是避免或阻止多于一个的进程同时操作共享存储区(临界区)。 Procedure T(x ) int x; Begin read(x ); if x>=1 then x:=x-1; print(x ); End(T )临界区 x为临界资源北京林业大学信息学院临界区的访问过程 entry section exit section critical section remainder section 执行不能被打断北京林业大学信息学院?进入区(entry section) :在进入临界区之前,检查可否进入临界区的一段代码。如果可以进入临界区,通常设置相应“正在访问临界区”标志?临界区(critical section) :进程中访问临界资源的一段代码。?退出区(exit section) :用于将"正在访问临界区"标志清除。?剩余区(remainder section) :代码中的其余部分。北京林业大学信息学院使用临界区的原则?空闲让进: 当无进程在临界区时,任何有权使用临界区的进程可进入?忙则等待: 不允许两个以上的进程同时进入临界区?多中择一: 当没有进程在临界区,而同时有多个进程要求进入临界区,只能让其中之一进入临界区, 其他进程必须等待?有限等待: 任何进入临界区的要求应在有限的时间内得到满足?让权等待: 处于等待状态的进程应放弃占用 CPU ,以使其他进程有机会得到 CPU 的使用权北京林业大学信息学院 ?基本概念?同步工具?锁操作?信号量与P、V操作?并发程序共享资源问题的解决北京林业大学信息学院基本概念?同步进程之间的一种通信方式,有时序上的制约关系,或者说是进程之间为了协同工作而存在的一种等待关系。?互斥进程之间对临界资源的一种竞争关系,排他性地对资源的访问方式。