第2章进程通信ppt课件.ppt

第2章进程通信ppt课件.ppt

ID:59204947

大小:168.50 KB

页数:52页

时间:2020-09-26

第2章进程通信ppt课件.ppt_第1页
第2章进程通信ppt课件.ppt_第2页
第2章进程通信ppt课件.ppt_第3页
第2章进程通信ppt课件.ppt_第4页
第2章进程通信ppt课件.ppt_第5页
资源描述:

《第2章进程通信ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、进程的同步与通信进程间的联系进程的同步机制──信号量及P.V操作(解决进程同步互斥问题)2.3基本概念进程的并发执行虽然提高了资源利用率,但由于进程的异步性,会给系统造成混乱。为了使并发执行的各进程都能正确执行,使它们之间能有效地共享资源和相互合作,必须研究并发执行的各进程之间的相互制约关系,采取一定的措施使系统中诸进程有条不紊的同步向前推进。进程之间有两种相互制约关系:资源共享关系相互之间功能合作关系1.资源共享关系由于共享资源,使得系统中本来没有逻辑关系的进程,因相互竞争资源而产生了制约关系。例如:进程P1和P2在运行中都要使用打印机

2、,为了保证各进程输出的完整,打印机必须互斥访问(独占使用)。即一个进程使用完后,另一进程才能使用。这样,一旦系统将打印机分配给进程P1,进程P2就必须等待,直到P1用完打印机并释放后,P2才能使用。这种因共享资源而使并发执行的各进程之间产生的关系,叫做间接制约关系,又叫做互斥关系。这种关系可以用“进程-资源-进程”来描述。进程的互斥mutualexclusion2.相互之间功能合作关系通常,一个用户作业要涉及一组并发进程(输入、计算和输出进程),这些进程必须相互协作共同完成这项任务。具体说,在运行过程中,某进程可能要在某些同步点上等待另一

3、伙伴(协作进程)为它提供消息,在未获得消息之前,该进程处于等待状态,获得消息后被唤醒进入就绪态,此后,才能继续运行。进程之间的这种制约关系叫做直接制约关系,又叫同步关系。这种关系可用“进程-进程”来描述。进程的同步synchronism3.进程通讯所谓进程通讯,就是指进程的上述两种相互依赖关系。进程之间的这种相互依赖又相互制约、相互合作又相互竞争的关系,也即进程的同步与互斥关系。又叫进程的低级通信。例:司机P1售票员P2REPEATREPEAT 启动关门 正常行驶售票 到站停开门 UNTILFALSEUNTILFALSE2.3.1临界资源

4、和临界区进程的互斥是由于共享资源而引起的,为了描述这类情况,我们引入临界资源和临界区的概念。临界资源(互斥资源):criticalresource系统中一次只允许一个进程访问的资源。这些资源既包括I/O设备,如打印机等资源,也包括软件资源,如共享变量、共享文件等。临界区(互斥区):criticalsection并发执行的进程中,访问临界资源的必须互斥执行的程序段叫临界区。临界区分散在每个要并发执行的进程中,它们都对某个共享的数据结构(共享资源)进行访问。P1)P2)P3)C3)C1)C2)……a:=a+1print(a)…………a:=a+

5、1print(a)…………ifa<0thena:=a+1elsea:=a-1……变量a是临界资源C1、C2、C3是临界区对a应互斥访问共享变量临界区2临界区n临界区2进入临界区的原则:空闲让进:当无进程在互斥区时,任何有权使用互斥区的进程可进入忙则等待:不允许两个以上的进程同时进入互斥区有限等待:任何进入互斥区的要求应在有限的时间内得到满足让权等待:处于等待状态的进程应放弃占用CPU硬件硬件指令和屏蔽中断两种办法。软件编程解决,进入临界区前后各附加一段程序缺点:忙等待,需要高的编程技巧。2.3.2互斥问题解决方法:一种简单的硬件解法—“开

6、关中断”指令因为CPU从一个进程转接到另一个进程是由于时钟中断(时间片到)或其它中断引起的。当一个进程进入临界区前,关闭所有的中断,其它进程就不可能进入临界区。当进程退出临界区后,再开中断。此后要进入临界区的进程就可进入。描述如下:关中断(disable)criticalsection开中断(enable)开、关中断可以保证各进程互斥地进入临界区。这种方法简单,但系统要付出较高代价。缺点是:这样做的结果限制了处理机交叉执行程序的能力。3.2进程的同步机制─信号量及P.V操作1965年,荷兰学者Dijksttra提出一种有效解决同步问题的机

7、制-信号量机制,其发展经历了-整型信号量、记录型信号量,继而发展为“信号量集”。信号量集已广泛应用于单处理机、多处理机及计算机网络中。同步实例:两个进程通过共享缓冲区完成其计算和打印任务。计算进程将计算结果送入共享缓冲区,打印进程从缓冲区取数据打印。有两种情况应该避免发生。一是打印进程从空缓冲区内取数据或重复取已经打印过的数据;二是计算进程把数据送入已装满数据的缓冲区,使没有打印的数据被复盖。也就是,当缓冲区空时,不允许取数据,满时不允许送数据。否则,将出现错误。显然,计算进程与打印进程这种关系,不是由于两个进程同时访问共享缓冲区,而是由

8、于它们访问缓冲区的速度不匹配造成的。为了使进程正确地同步,需要引入信号量机制。信号量:管理和控制铁路公路交通的重要工具是信号灯。交通管理人员利用信号灯的状态(颜色)控制各种车辆的正常通行。同样

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。