进程间的制约关系课件.ppt

进程间的制约关系课件.ppt

ID:57181383

大小:2.08 MB

页数:38页

时间:2020-08-02

进程间的制约关系课件.ppt_第1页
进程间的制约关系课件.ppt_第2页
进程间的制约关系课件.ppt_第3页
进程间的制约关系课件.ppt_第4页
进程间的制约关系课件.ppt_第5页
资源描述:

《进程间的制约关系课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第6章进程间的制约关系学习要点:1.2.3.进程间的两种制约关系—互斥与同步;正确处理互斥与同步的方法——信号量以及在信号量上的P、V操作;死锁以及解决死锁的途径;进程间的高级通信。4.在多道程序的环境中,系统中的多个进程可以并发执行,同时它们又要共享系统中的资源,这些资源有些是可共享使用的,如磁盘,有些是以独占方式使用的,如打印机。由此将会引起一系列的矛盾,产生错综复杂的相互制约的关系。产生这种错综复杂的相互制约关系的原因有二:资源共享——间接制约关系进程合作——直接制约关系假定这样进行管理:为输出井设置一张“输出井文件目录表”,它由若干目录项组成。每个目录项记录一

2、个要打印输出的文件名以及该文件在磁盘的存放地址。为了管理该目录表,系统安排了两个指针:out和in。“缓输出程序”根据out的指点进行打印,out总是指向下一个被打印的文件;井管理写程序根据in的指点存放要求输出的文件目录信息,in总是指向下一个可用的目录项位置。6.1.1与时间有关的错误与时间有关的错误1.进程的并发,使一个进程何时占有处理机、占有多长时间、执行速度的快慢、以及外界对进程产生作用等都带有随机性。因此,一个进程对其他进程的影响无法预测。在操作系统里,把这种由于时间因素的影响而产生的错误,称为“与时间有关的错误”。对输入井文件目录的管理2.读in的当前内

3、容;根据指点,存入打印文件名;in的值加1;test.cgroup.probit.txt45674out7in输入井文件目录表“井管理写”程序进程Ain=7进程B读in的当前内容;根据指点,存入打印文件名;in的值加1;“井管理写”程序读in的当前内容;根据指点,存入打印文件名;in的值加1;“井管理写”程序in=8in=9实例:在复制过程中,若COPY已把R里的记录拷贝到了T中,那么GET和PUT就可以并发执行了。即GET从F里读出下一个记录送到R中的操作,与PUT从T中取出里面的内容写入G的操作,谁先做谁后做都没有关系,不会影响到复制结果的正确性。由于利用了它们并

4、发性,工作效率就会提高。但是,如果不去顾及这三者之间执行顺序的这种关系,随意让GET、COPY、PUT去并发执行,那么就会产生“与时间有关的错误”。COPY:把输入缓冲区R里的记录拷贝到输出缓冲区T里;GET:从文件F按照顺序读出一个记录,然后送入输入缓冲区R;3.通过双缓冲区复制文件编写一个复制n个记录的程序,它把文件F中的每个记录依次读到输入缓冲区R,再从R拷贝到输出缓冲区T,最后写到文件G中。假定R和T正好存放一个记录。写3个子程序作为进程来完成整个工作:记录1记录2记录nGETCOPYPUT文件F记录1记录2记录n文件G输入缓冲区R输出缓冲区TPUT:从输出缓

5、冲区T里读出一个记录,然后依照顺序写入文件G。....若不管GET、COPY、PUT的执行关系,那么可有六种执行可能:1)COPY→PUT→GET;2)COPY→GET→PUT;3)PUT→COPY→GET4)PUT→GET→COPY;5)GET→COPY→PUT;6)GET→PUT→COPY.记录3记录4记录n文件F记录2记录1文件GRT记录1GETPUT记录1记录1文件GRT记录3记录4记录n文件F记录1记录4记录n文件F记录3记录1文件GRT记录1COPY记录1记录4记录n文件F记录3记录3文件GRT记录1123.对第六种情况的分析(2)(3)(1)(4)6.1

6、.2竞争资源——互斥1.共享变量在操作系统中,把那些可以被进程共享的资源(如文件、队列、缓冲区、表格、变量等)统称为“共享变量”或“临界资源”。2.互斥与一个共享变量(或临界资源)交往的多个进程,为了保证它们各自运行结果的正确性,当其中的一个进程正在对该变量(或临界资源)进行操作时,就不允许其他进程同时对它进行操作。进程间的这种制约关系被称为“互斥”。对具有互斥关系的进程,要注意以下四点:(1)只有涉及共享变量的那一部分程序,才真正需要保证互斥地执行。通常,把进程程序中“真正需要保证互斥执行”的那一段程序,称为该进程的“临界区(或临界段)”。(2)具有互斥关系的进程,

7、并不关心对方的存在性。即使对方不存在,自己也能够正确的运行,不会受到它存在与否的影响。进程的互斥:两个或两个以上的进程不能同时进入共享同一临界资源的临界区。一个进程在临界区内逗留有限时间后,就应该退出,以便给其他进程创造进入临界区的机会。如果有若干个进程要求进入自己的临界区,那么它们不应互相排斥,致使谁也进不了临界区。.3.临界区在进程程序中,只有涉及到共享变量的那一部分程序,才真正需要保证互斥地执行。通常,把进程程序中“真正需要保证互斥执行”的那一段程序,称为该进程的“临界区(或临界段)”。4.解决临界区互斥必须遵循的准则..每次只允许一个进程进入

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

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

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