操作系统 第3章总结.ppt

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第三章 进程的同步与通信 3.1 进程同步的基本概念 3.2 信号量机制 3.3 经典进程同步问题 3.4 管程机制 3.5 进程通信 进程同步的任务: 使并发执行的诸进程之间能有效地共享资源和相互合作, 从而使程序的执行具有可再现性。 多道程序环境下,诸进程之间的关系: 3.1 进程同步的基本概念 一、临界资源 二、临界区 三、利用软件方法解决进程互斥问题 四、利用硬件方法解决进程互斥问题 3.1 进程同步的基本概念 一、临界资源 临界资源:一段时间内只允许一个进程访问的资源。 要求:共享临界资源的诸进程必须互斥访问临界资源。 原因: 例:生产者--消费者问题(P62) 3.1 进程同步的基本概念 一、临界资源 机器语言形式为: 3.1 进程同步的基本概念 一、临界资源 结论: counter是临界资源,生产者和消费者应互斥访问。 即:虽然生产者、消费者并发执行,但在执行counter的 加1、减1的语句时,只能顺序进行。 即:只能按可能性中A或B的顺序进行,绝不能交替进行。 临界资源实例: 硬件中的打印机、磁带机等,软件中的变量、队列、缓 冲区等。 3.1 进程同步的基本概念 二、临界区(Critical Section) 临界区(CS):每个进程中访问临界资源的那段代码。 要求:为实现对临界资源的互斥访问,应保证诸进程互斥进入各自 的临界区。(两个互斥是一致的) 模型: 准则:1.空闲让进 2.忙则等待 3.有限等待 4.让权等待 3.1 进程同步的基本概念 三、利用软件方法解决进程互斥问题 问题描述: 两个进程P0和P1,共享一个临界资源R。 算法1 (turn=j,表示允许进程Pj进入临界区) 3.1 进程同步的基本概念 三、利用软件方法解决进程互斥问题 算法2 var flag:array[0..1] of boolean; (flag[i]=true,Pi在临界区) 3.1 进程同步的基本概念 三、利用软件方法解决进程互斥问题 算法3 var flag:array[0..1] of boolean; 3.1 进程同步的基本概念 三、利用软件方法解决进程互斥问题 算法4 3.1 进程同步的基本概念 三、利用软件方法解决进程互斥问题 缺点: 四种算法全部属于“忙等待”方式。 现在已很少使用。 3.1 进程同步的基本概念 四、利用硬件方法解决进程互斥问题 利用Test-and-Set指令 1.Test-and-Set 指令 function TS(var. lock:boolean):boolean begin TS:=lock; lock:=true; end 3.1 进程同步的基本概念 四、利用硬件方法解决进程互斥问题 2. 利用TS指令实现进程互斥的模型 repeat while TS(lock) do skip;----进入区 critical section; --------临界区 lock:=false; -----------------退出区 remainder section until false; 思路: false 可以进入CS a)每个临界资源?一个lock(初值=false) true 不能进入CS b)在进入区测试是否 不能 (lock=true):忙等待 可以进入临界区CS 可以 (lock=false)?进入CS执行?退出CS

文档评论(0)

希望之星 + 关注
实名认证
内容提供者

我是一名原创力文库的爱好者!从事自由职业!

1亿VIP精品文档

相关文档