操作系统进程管理ppt课件.ppt

操作系统进程管理ppt课件.ppt

ID:50422504

大小:1.02 MB

页数:106页

时间:2020-03-13

操作系统进程管理ppt课件.ppt_第1页
操作系统进程管理ppt课件.ppt_第2页
操作系统进程管理ppt课件.ppt_第3页
操作系统进程管理ppt课件.ppt_第4页
操作系统进程管理ppt课件.ppt_第5页
资源描述:

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

1、第四章进程管理多道程序设计进程线程进程(线程)调度(CPU调度)进程间的同步与互斥进程间的通信管程1五、进程的同步机制进程的同步与互斥临界区的概念及使用原则信号量及PV操作生产者消费者问题读者写者问题哲学家就餐问题2(同步问题)例子:谁买面包?甲5:00查看冰箱,面包没了5:05去超市5:10到达超市5:15买好面包5:20回家,把面包放入冰箱5:255:30乙查看冰箱,面包没了去超市到达超市买好面包回家,把面包放入冰箱噢,TooMuch3直接作用和间接作用直接作用:进程间的相互联系是有意识的安排

2、的,直接作用只发生在相交进程间间接作用:进程间要通过某种中介发生联系,是无意识安排的,可发生在两个有联系的进程之间,也可发生在无关进程之间1.进程间的联系4进程的同步(直接作用)进程的同步:synchronism指系统中多个进程中发生的事件存在某种时序关系,需要相互合作,共同完成一项任务。具体说,一个进程运行到某一点时要求另一伙伴进程为它提供消息,在未获得消息之前,该进程处于等待状态,获得消息后被唤醒进入就绪态5例子司机P1售票员P2 while(true)while(true) {{启动车辆;关

3、门; 正常运行;售票; 到站停车;开门;}}6进程的互斥(间接作用)由于各进程要求共享资源,而有些资源需要互斥使用,因此各进程间竞争使用这些资源,进程的这种关系为进程的互斥临界资源:criticalresource系统中某些资源一次只允许一个进程使用,称这样的资源为临界资源或互斥资源或共享变量7【思考题】例举两个现实生活中需要同步与互斥的例子8临界区(互斥区):criticalsection一个程序片段的集合,这些程序片段分散在不同的进程中,对某个共享的数据结构(共享资源)进行操作临界区:在进程中

4、涉及到临界资源的程序段相关临界区:多个进程的临界区9a:=a-1print(a)a:=a+1print(a)P1互斥P2互斥Ifa<0thena:=a+1elsea:=a-1P3互斥进程的互斥(间接作用)10使用互斥区的原则有空让进:当无进程在互斥区时,任何有权使用互斥区的进程可进入无空等待:不允许两个以上的进程同时进入互斥区多中择一:当没有进程在临界区,而同时有多个进程要求进入临界区,只能让其中之一进入临界区,其他进程必须等待有限等待:任何进入互斥区的要求应在有限的时间内得到满足让权等待:处于等

5、待状态的进程应放弃占用CPU,以使其他进程有机会得到CPU的使用权11前提:任何进程无权停止其它进程的运行进程之间相对运行速度无硬性规定进程互斥的解决有两种做法:由竞争各方平等协商引入进程管理者,由管理者来协调竞争各方对互斥资源的使用具体方法:硬件软件使用互斥区的原则(续)12谁买面包?——解法1基本思想留言(锁)取消留言(解锁)如果看到留言,就不买(等待)解法1if(nobread){if(noNote){leaveNote;buybread;removeNote;}}13谁买面包?——解法2进

6、程AleavenoteA;If(noNoteB){if(noBread)buybread}removenoteA进程BleavenoteB;If(noNoteA){if(noBread)buybread}removenoteB14谁买面包?——解法3进程AleavenoteA;while(NoteB)——Xdonothing;if(noBread)buybread;}removenoteA进程BleavenoteB;If(noNoteA){—Ydonothing;if(noBread)buybre

7、ad}removenoteB15软件解法(1)free:表示临界区标志true:有进程在临界区false:无进程在临界区(初值) ....while(free); free=true;临界区free=false;16软件解法(2)turn:trueP进入临界区falseQ进入临界区....P:while(notturn);临界区turn=false;Q:while(turn);临界区turn=true;17软件解法(3)pturn,qturn:初值为falseP进入临界区的条件:pturn∧not

8、qturnQ进入临界区的条件:notpturn∧qturnP....Q.....pturn=true;qturn=true;while(qturn);while(pturn);临界区临界区pturn=false;qturn=false; ......18软件解法(4):Dekker算法(1/2)在解法(3)基础上引入turn枚举类型初值任意P:while(true){ pturn=true; while(qturn){ if(turn==2){ pturn=false;while(

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

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

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