第五章并发性互斥和同步浙江工业大学ppt课件.ppt

第五章并发性互斥和同步浙江工业大学ppt课件.ppt

ID:59487721

大小:1.72 MB

页数:86页

时间:2020-09-13

第五章并发性互斥和同步浙江工业大学ppt课件.ppt_第1页
第五章并发性互斥和同步浙江工业大学ppt课件.ppt_第2页
第五章并发性互斥和同步浙江工业大学ppt课件.ppt_第3页
第五章并发性互斥和同步浙江工业大学ppt课件.ppt_第4页
第五章并发性互斥和同步浙江工业大学ppt课件.ppt_第5页
资源描述:

《第五章并发性互斥和同步浙江工业大学ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、并发性:互斥和同步第五章1并发(Concurrency)多道程序设计技术、多处理器技术以及分布式处理技术使得操作系统设计时必须要面对多个进程并发的问题,设计时需要考虑下列问题:并发进程间如何通信?怎么解决资源的共享和竞争?多个进程之间如何同步?处理器的时间如何分配?2并发进程间的制约关系在多道程序环境下,系统中各进程以不可预测的速度向前推进,进程的异步性会造成结果的不可再现性。为防止这种现象,异步的进程间推进受到两种限制:1.资源共享关系多进程共享资源,例如各进程争用一台打印机,这时各进程使用这台打印机时有一定的限制。每次只允许一个进程使用一段时间打印机,等该进程使用

2、完毕后再将打印机分配给其它进程。这种使用原则称为互斥使用。3进程之间竞争资源面临三个控制问题:互斥(mutualexclusion)指多个进程不能同时使用同一个资源;死锁(deadlock)指多个进程互不相让,都得不到足够的资源;饥饿(starvation)指一个进程一直得不到资源(其他进程可能轮流占用资源)2.相互合作关系在某些进程之间还存在合作关系,例如一个程序的输入、计算、打印三个程序段作为三个进程并发执行,由于这三个进程间存在着相互合作的关系,即先输入再计算、最后再打印的关系,所以这三个进程在并发执行时推进序列受到限制,要保证其合作关系正确,进程间这种关系称为

3、同步关系。4一个简单的例子voidecho(){chin=getchar();chout=chin;putchar(chout);}5ProcessP1ProcessP2..chin=getchar();..chin=getchar();.chout=chin;.putchar(chout);chout=chin;putchar(chout);发生中断P1输入x,P2输入y结果:y显示了两次,而x没有显示原因:chin是共享的全局变量一个简单的例子6解决办法控制访问共享资源。必须强加一条规则:一次只允许一个进程访问共享资源。(互斥)7和并发相关的术语表5.1与并发相关

4、的关键术语8临界资源象打印机这类资源一次只允许一个进程使用的资源称为临界资源。属于临界资源的有硬件打印机、磁带机等,软件有消息缓冲队列、变量、数组、缓冲区等。当然还有一类象磁盘等资源,它允许进程间共享,即可交替使用,所以它称为共享资源,而临界资源又称独享资源。9临界区(criticalsections)多个进程共享临界资源时必须互斥使用,将程序中使用临界资源的那一段代码称为临界区。如二个进程A和B它们的程序如下:A:{Inputdata1fromI/O1;Computer……;Printresults1byprinter;A临界区}B:{Inputdata1fromI

5、/O2;Computer……;Printresults2byprinter;B临界区}进程A和B必须互斥地分别进入各自的临界区A和B10竞争条件多个进程或线程在读写一个共享数据时,结果依赖于它们执行的相对时间,这种情形叫竞争。例1:两个进程p1和P2,共享同一个全局变量a。P1和P2同时更新a,因此两个进程竞争地写变量a。a=?例2:两个进程P3和P4,P3:b=b+c,P4:c=b+c(初始值b=1,c=2)。若P3先执行,则结果为b=3,c=5;若P4先执行,则结果为b=4,c=311操作系统关注的问题跟踪每个进程的信息:通过PCB为进程分配和释放各种资源处理器时

6、间:进程调度内存:内存管理文件:文件系统I/O设备:I/O管理保护进程的数据和资源,避免其他进程的干扰一个进程的功能和输出结果必须与执行速度无关(进程同步机制)12多个进程的交互进程间相互不知道对方:独立的进程,存在着资源竞争关系,会带来互斥、死锁和饥饿的问题进程间通过共享对象间接知道对方:带来互斥、死锁、饥饿和数据一致性的问题进程直接知道对方:进程间通过通信合作,会带来死锁和饥饿的问题13进程同步机制进程在并发执行时为了保证结果的可再现性,各进程执行序列必须加以限制以保证互斥地使用临界资源,相互合作完成任务。多个相关进程在执行次序上的协调称为进程同步。用于保证多个进

7、程在执行次序上的协调关系的相应机制称为进程同步机制。14所有的进程同步机制应遵循下述四条准则:空闲让进当无进程进入临界区时,相应的临界资源处于空闲状态,因而允许一个请求进入临界区的进程立即进入自己的临界区。忙则等待当已有进程进入自己的临界区时,即相应的临界资源正被访问,其它试图进入临界区的进程必须等待,以保证进程互斥地访问临界资源。有限等待对要求访问临界资源的进程,应保证进程能在有限时间进入临界区,以免陷入“饥饿”状态。让权等待当进程不能进入自己的临界区时,应立即释放处理机,以免进程陷入忙等。15临界区的互斥操作16一个由临界区和剩余区1和剩余区2程

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

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

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