《进程同步与通信》PPT课件

《进程同步与通信》PPT课件

ID:39161406

大小:829.00 KB

页数:80页

时间:2019-06-26

《进程同步与通信》PPT课件_第1页
《进程同步与通信》PPT课件_第2页
《进程同步与通信》PPT课件_第3页
《进程同步与通信》PPT课件_第4页
《进程同步与通信》PPT课件_第5页
资源描述:

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

1、第3章进程同步与通信●进程同步与互斥●经典进程同步问题●管程●AND信号量●进程通信本章要点●3.1进程的同步与互斥同步与互斥的引入●OS引入进程后,由于进程的异步性,可能会导致程序执行结果的不确定性,使程序执行时出现不可再现性。●进程互斥与同步的主要任务是使并发执行的诸进程之间能有效地共享资源和相互合作,从而使程序的执行具有可再现性。3并发原理1并发带来的问题全局变量的共享充满了危险如果两个进程都使用了同一个全局变量,并且都对该变量进行了读写操作,那么不同的读写执行顺序是非常关键的。操作系统很难最佳地管理资源的分配定位程

2、序的错误是很困难的这是因为并发程序的不确定性和不可再现性4并发给操作系统设计和管理带来了很多问题,为此要关注的事情有以下几个方面:操作系统必须记录每个进程的情况,并通过进程控制块实现。操作系统必须为每个进程分配和释放各种资源,这些资源包括处理机、存储器、文件和I/O设备。操作系统必须保护每一个进程的数据和资源,避免遭到其他进程的干涉和破坏保证进程执行结果的正确性,进程的执行结果与速度无关。5进程的交互这里以进程之间是否知道对方的存在,按进程的交互方式分三种情况:进程之间不知道对方的存在独立的进程竞争的关系进程之间知道对方的

3、存在共享数据时要进行合作进程直接得知对方互相通信,用于合作完成某些任务6进程同步的基本概念●同步:指多个进程中发生的事件存在着某种时序关系,它们必须按规定时序执行,以共同完成一项任务。●互斥:多个进程不能同时使用同一资源。●进程通信:是指多进程之间要传递一定的信息●临界资源:某段时间内仅允许一个进程使用的资源。●临界区:每个进程中访问临界资源的那段代码。7几个进程共享同一临界资源,它们必须以互相排斥的方式使用临界资源即当一个进程正在使用临界资源且尚未使用完时,其他进程必须延迟对该资源的进一步操作,在当前的进程使用完成之前,

4、不能从中插入使用这个临界资源,否则将会造成信息混乱和操作出错。8例:P1,P2两进程共享变量COUNT(COUNT的初值为5)P1:{R1=COUNT;R1=R1+1;COUNT=R1;}P2:{R2=COUNT;R2=R2+1;COUNT=R2;}分析:●1》执行顺序P2→P1执行结果P1:COUNT为7,P2:COUNT为6。●2》执行顺序P1:{R1=COUNT}P2:{R2=COUNT}P1:{R1=R1+1;COUNT=R1}P2:{R2=R2+1;COUNT=R2}执行结果P1:COUNT为6,P2:COUNT

5、为6。临界资源实例9例:P1,P2两线程共享变量COUNT(COUNT的初值为5)P1:{R1=COUNT;R1=R1+1;COUNT=R1;}P2:{R2=COUNT;R2=R2+1;COUNT=R2;}用Bernstein条件考察R(P1)={R1,COUNT}W(P1)={R1,COUNT}R(P2)={R2,COUNT}W(P2)={R2,COUNT}R(P1)∩W(P2)<>{}临界资源实例●P1、P2不符合Bernstein条件●必须对程序的执行顺序施加某种限制10While(1){●空闲让进当无进程处于临界区

6、时,临界资源处于空闲状态。此时允许进程进入临界区。●忙则等待当已有进程进入临界区时,临界资源正在被访问,其他想进入临界区的进程必须等待。●有限等待对于要求访问临界资源的进程,应保证在有效的时间内进入,以免进入“死等”状态。●让权等待当进程不能进入临界区时,应立即释放处理机,以免进程进入“忙等”。进入区临界区退出区剩余区}同步机制应遵循的准则访问临界资源的进程描述为11互斥实现的硬件方法●禁止中断●专用机器指令●TS(TestandSet)指令●Swap指令12禁止中断在单处理机环境中,并发执行的进程不能在CPU上同时执行,

7、只能交替执行。另外,对于一个进程而言,它将一直运行,直到被中断。因此,为了保证互斥,只要保证一个进程不被中断就可以了,这可以通过系统内核开启、禁止中断来实现13禁止中断书中图3-2实现了互斥由于在临界区内进程不能被中断,故保证了互斥。但该方法代价很高。进程被限制只能接替执行。另外,在多处理机环境中,禁止中断仅对执行本指令的CPU起作用,对其他CPU不起作用,也就不能保证对临界区的互斥进入。14专用机器指令在很多计算机(特别是多处理机)中设有专用指令来解决互斥问题。依据所采用的指令的不同,硬件方法可以分为:TS指令和Swap

8、指令15//TS指令:booleanTS(lock);booleanlock;{booleantemp;temp=lock;lock=true;returntemp;}●Lock有两种状态:●当lock=false时,表示资源空闲;●当lock=true时,表示资源正在被使用。●为了实现互斥,设布尔变量

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

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

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