操作系统第3章进程通信与控制综述.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
操作系统第3章进程通信与控制综述

第三章 进程同步与通信 目的;★并发与并行的区别并发是指多个;3.1 并发原理----;①OS选择执行程序A完成后再执;无标题;3.1 并发原理1、并发;现有两个进程P1、P2执行该过;(2)进程P2调用echo,它;Void echo( ){ch;出错的原因是什么? ——变量i;施加何种机制或原则以避免出现上;再看一个与时间有关而发生错误的;考虑以下的执行次序:(a)和(;特别是,当某次航班只有一张余票;出错原因是什么? 余票额是共享;思考:对共享变量(资源)如何加;★同步关系(亦称直接制约关系);例⑵ :在计算机系统中对同一缓;★互斥关系(亦称间接制约关系);既同步又要互斥的例子:1、客车;正常行车到站停车启动汽车售票开;互斥与同步的例子:2、有限缓冲;互斥与同步的例子:3、读者与写;★一、两个基本概念:临界资源(;二、临界资源须互斥使用例1打印;Cobegin void A;Cobegin void A;三、进程互斥进入临界区的一般结;Cobegin void A;例如:对打印机(临界资源)的互;★问题:操作系统是如何管理临界;★四、临界区进入准则(同步机制;准则3:有限等待。进入临界区的;Cobegin void A;3.4 互斥实现方法一、利;2、专用机器指令(1)“Tes;例1:利用testset指令实;(2)Swap指令实现进程管理;例2:利用swap指令实现互斥;//*I为进程号,如为P(2);3、使用特殊机器指令实现互斥的;缺点:(1)由于采用忙碌-等待;二、利用软件方法解决进程互斥问;互斥执行的程序段用软件实现。算;P1:while(1) ;对算法一的评价:①该算法可确保;算法2(双标志、先检查算法)基;Int flag[2]={0,;对算法2的评价: ①算法2解决;算法3(双标志、先修改后检查算;Int flag[2]={0,;对算法3的评价: 算法3又会造;算法4(先修改、后检查、后修改;评价:该算法是组合了算法1和算;3.5. 信号量和PV操作(;★一、信号量的定义信号量一般由;二、P和V操作原语的伪代码形式;★三、N个进程利用信号量、PV;四、结构型信号量S的P和V操作;P操作(P(S)或wait(s;V(S)操作(即signal操;V操作(即V(S)或signa;★五、信号量机制物理含义1、信;3、执行一次V操作意味着释放一;六、信号量的一般应用1、用信号;★例1:进程Pa(分配进程)和;void plane-cond;2、用信号量实现进程同步根据信;★例3、有P1,P2 两进程,;★例3、有P1,P2 两进程,;★例4:供者L1将读卡机中的数;★解:设置两个信号量:S1:表;供者进程L1: do {…;供者进程L1: Do {…;★例5、客车上的司机和售票员的;司机进程:Void Bus-d;司机进程:Void Bus-d;★例6、根据给定的语句前趋图,;Main( ){ semaph;Main( ){ semaph;3、用信号量实现进程既同步又互;3.6 经典进程同步与互斥问;有限缓冲区的生产者/消费者问题;(1)缓冲池满的条件二是: ;(2)缓冲池空的条件是: i;解:设置以下信号量mutex,;Void Producer( ;Void Producer( ;Void consumer( ;思考题: 在上面程序中,将以下;生产者进程Producer:W;若存在一共享数据A,那些对它进;该问题可具体描述为:1.如果当;4.当最后一个结束访问数据的R;Reader与Writer的算;Semaphore rmute;Void writer( ){;3、哲学家就餐问题 问题;实现:用一个信号量表示一根筷子;3.4 管程机制一、 管程的引;2、同步操作的使用不当而导致系;错误1 在利用互斥信号量;错误2 在实现进程互斥时;错误3 在实现进程互斥时;(二)解决办法——管程 ;二、 管程的概念与组成1、管程;2、管程的组成(3个部份)(1;局部数据说明条件变量说明过程 ;局部数据说明条件变量说明过程 ;四、 管程的特点(1)只能通过;???、管程的语法Monitor ;五、 用管程解决生产者/消费者;Void producer( ;★三、管程与进程的异同(1)二;(4)进程通过调用管程中的过程;3.5 进程通信一、进程通信;(2)高级通信。指用户可直接通;二、高级通信机制的类型1、共享;2、消息传递系统 在消息传递中;Send(B,a) ●id:B;(2)间接通信方式。发送进程将;信箱通信示意图进程 A信箱;3、管道通信方式管道是指用于连;共享文件(管道)通信示意图图3;三、直接通信和间接通信 1;Send(B,a)

文档评论(0)

jiayou10 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档