- 1、本文档共59页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机操作系统之进程管理同步资料
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 关于P,V原语的实现,有许多方法。这里介绍一种使用加锁法的软件实现方法,实现过程描述如下: P(sem): begin lock(lockbit) ;封锁中断 val[sem]=val[sem]-1 if val[sem]0 保护当前进程CPU现场 当前进程状态置为″等待″ 将当前进程插入信号sem等待队列 转进程调度 fi unlock(lockbit);开放中断 end V(sem): begin lock(lockbit) ;封锁中断 val[sem]=val[sem]+1 if val[sem]≤0 localk 从sem等待队列中选取一等待进程,将其指针置入k中 将k插入就绪队列 进程状态置“就绪” fi unlock(lockbit);开放中断 end 3.5.4 用P,V原语实现进程互斥 利用P,V原语和信号量,可以方便地解决并发进程的互斥问题,而且不会产生使用加锁法解决互斥问题时所出现的问题。 3.5.4 用P,V原语实现进程互斥 设信号量sem是用于互斥的信号量,且其初值为1表示没有并发进程使用该临界区。显然,由上面几节的讨论可知,只要把临界区置于P(sem)和V(sem)之间,即可实现进程间的互斥。当一个进程想要进入临界区时,它必须先执行P原语操作以将信号量sem减1。在一个进程完成对临界区的操作之后,它必须执行V原语操作以释放它所占用的临界区。由于信号量初始值为 1,所以,任一进程在执行P原语操作之后将sem的值变为0,表示该进程可以进入临界区。 在该进程未执行V原语操作之前如有另一进程想进入临界区的话,它也应先执行 P 原语操作,从而使sem 的值变为-1,因此,第二个进程将被阻塞。直到第一个进程执行V原语操作之后,sem 的值变为0,从而可唤醒第二个进程进入就绪队列,经调度后再进入临界区。在第二个进程执行完V原语操作之后,如果没有其他进程申请进入临界区的话,则sem 又恢复到初始值。 用信号量实现两并发进程PA,PB互斥的描述如下: 1) 设 sem为互斥信号量,其取值范围为(1,0,-1)。 其中sem=1表示进程PA和PB都未进入类名为S的临界区,sem=0表示进程PA或PB已进入类名为S的临界区,sem=-1表示进程PA和PB中,一个进程已进入临界区,而另一个进程等待进入临界区。 2) 描述: PA: P(sem) 〈S〉 V(sem): : : PB: P(sem) 〈S〉 V(sem)∷ : : 3.6 进 程 同 步 3.6.1 同步的概念 除了对公有资源的竞争而引起的间接制约之外,并发进程之间是否还存在着其他制约关系影响执行速度呢?来看下面的例子。 3.6 进 程 同 步 例:计算进程和打印进程共同使用同一缓冲区Buf。计算进程反复地把每次计算结果放入 Buf中,而打印进程则把计算进程每次放入 Buf中的数据通过打印机打印输出。如果不采取任何制约措施,这两个进程的执行起始时间和执行速度都是彼此独立的,其相应的控制段可以描述为: PC : : A: local Buff Repeat Buff← Buf Until Buff=空 计算 得到计算结果 Buf ← 计算结果 Goto A PP: : : B: local Pri Repeat Pri ← Buf Until Pri ≠ 空 打印 Buf中的数据 清除 Buf中的数据 Goto B PC和PP的执行互相制约。PC的输出结果是PP的执行条件,反过来,PP的执行结果也是PC的执行条件。 CPU 时间的浪费 一组在异步环境下的并发进程,。各自的执行结果互为对方的执行条件,从而限制各进程的执行速度的过程称为并发进程间的直接制约。 这与上节中讲述的进程互斥是不同的,进程互斥时它们的执行顺序可以是任意的。 这里异步环境主要指各并发进程的执行起始时间的随机性和执行速度的独立性。 一种最为简单和直观的方法是直接制约的进程互相给对方进程发送执行条件已经具备的信号。这样,被制约进程即可省去对执行条件的测试,只要收到了制约进程发来的信号便开始执行,而在未收到制约进程发来的信号时便进入等待状态。 把异步环境下的一组并发进程,因直接制约而互
您可能关注的文档
- 计算机应用基础任务化教程_单元1.ppt
- 计算机应用基础第十章TCPIP协议.ppt
- 计算机应用基础说课稿.ppt
- 计算机应用基础第4章-1.ppt
- 计算机应用基础第8章.ppt
- 计算机应用基础教程:第01课_计算机基础知识.ppt
- 计算机应用基础第三章计算机中信息的表示方法.ppt
- 计算机应用基础课程说课稿.ppt
- 计算机应用基础(必威体育精装版版).ppt
- 液压制动主缸的发展及特点.pptx
- 北师大版小学数学三年级上册《寄书》教学设计.docx
- 统编版(部编版)语文二年级上册《雪孩子》教学设计.docx
- 统编版(部编版)语文二年级上册《八角楼上》教学设计.docx
- 北师大版小学数学三年级上册《长方形周长》教学设计.docx
- 北师大版小学数学三年级上册《丰收了》教学设计.docx
- 统编版(部编版)语文二年级上册《夜宿山寺》教学设计.docx
- 统编版(部编版)语文二年级上册《风娃娃》教学设计.docx
- 统编版(部编版)语文二年级上册《朱德的扁担》教学设计.docx
- 统编版(部编版)语文二年级上册《难忘的泼水节》教学设计.docx
- 统编版(部编版)语文二年级上册《纸船和风筝》教学设计.docx
文档评论(0)