- 1、本文档共82页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
操作系统(第四版)第02-2章
第二章之进程的同步与通信 2.3.1 进程同步的基本概念 举例: 例一:搬椅子和坐椅子 同学甲 同学乙 ……… ………. if 有空椅子 then 坐下 if 有空椅子 then 搬走 ……… ………. 例二:民航售票(X为某航班的票数) 例三:交通流量的统计(S表示通过的车辆数) 例四:存储器管理的内存分配与回收(X为可分配的空间大小,申请及回收的空间大小为B) 分配进程 回收进程 …………. …………. if XB then 等待; X:=X+B; X:=X-B; 唤醒; …………. ………….. 例五:公交司机和售票员 司机的活动 售票员的活动 启动车辆 关车门 正常行驶 售票 到站停车 开车门 例六:计算进程与打印进程 计算进程 打印进程 数据计算 从缓冲区取数据 将结果送缓冲区 打印 进程间的关系 资源共享关系(间接作用): 进程间要通过某种中介发生联系,是无意识安排的,可发生在相交进程之间,也可发生在无关进程之间 相互合作关系(直接作用): 进程间的相互联系是有意识的安排的,直接作用只发生在相交进程间 进程的互斥(间接作用) 由于各进程要求共享资源,而有些资源需要互斥使用,因此各进程间竞争使用这些资源,进程的这种关系为进程的互斥。 临界资源: 系统中某些资源一次只允许一个进程使用,称这样的资源为临界资源或互斥资源或共享变量 进程的同步(直接作用) 指系统中多个进程中发生的事件存在某种时序关系,需要相互合作,共同完成一项任务。具体说,一个进程运行到某一点时要求另一伙伴进程为它提供消息,在未获得消息之前,该进程处于等待状态,获得消息后被唤醒进入就绪状态。(例如接力赛跑) 基本概念 进程互斥:指在多道程序环境下,每次只允许一个进程对临界资源进行访问。 进程同步:指多个相关进程在执行次序上的协调。 临界资源:一次仅供一个进程使用的资源。 在进程中涉及到临界资源的程序段叫临界区 多个进程的临界区称为相关临界区 进入区和退出区以及剩余区 同步机制应遵循的准则 空闲让进:当无进程在互斥区时,任何有权使用互斥区的进程可进入 忙则等待:不允许两个以上的进程同时进入互斥区 有限等待:任何进入互斥区的要求应在有限的时间内得到满足 让权等待:处于等待状态的进程应放弃占用CPU,以使其他进程有机会得到CPU的使用权 使用临界区的原则: 前提:任何进程无权停止其它进程的运行 进程之间相对运行速度无硬性规定 进程互斥的解决有两种做法: 由竞争各方平等协商 引入进程管理者,由管理者来协调竞争各方对互斥资源的使用 具体方法: 硬件(当一个进程进入临界区,就屏蔽所有中断,但成本高) 软件(用编程解决,但常常忙等待) 进程互斥的软件方法 通过平等协商方式实现进程互斥的最初方法是软件方法 其基本思路是在进入区检查和设置一些标志,如果已有进程在临界区,则在进入区通过循环检查进行等待;在退出区修改标志 其中的主要问题是设置什么标志和如何检查标志 软件解法的缺点: 1. 忙等待 2. 实现过于复杂 3. 需要高的编程技巧 软件解法 (1) turn: true 进程P进入临界区 false 进程Q进入临界区 .... P: while (not turn); 临界区 turn = false; Q: while (turn); 临界区 turn = true; 软件解法 (2) free: 表示临界区标志 true: 有进程在临界区 false:无进程在临界区(初值) .... while (free); free = true; 临界区 free = false; 软件解法 (2)的改进 Flag[0]:进程0的临界区标志 Flag[1]:进程1的临界区标志 进程0 进程1 ………… ………… while (flag[1]); while (flag[0]); Flag[0]:=ture; Flag[1]:=ture; 临界区 临界区 Flag[0]:=false; Flag[1]:=false; 软件解法 (3) pturn,qturn: 初值为false P进入临界区的条件: pturn∧ not qturn Q进入临界区的条件: not pturn∧ qturn P .... Q ..... pturn = true;
您可能关注的文档
- 我国政府组织人才选拔和管理机制的发展演变研究.doc
- 情境七 数制与码制.ppt
- 我国畜牧业区划与规划.ppt
- 战争机器:审判兵籍牌全入手攻略(第一章).pptx
- 我国医疗保险制度的现状及改革研究_图文.ppt
- 成功的人生规划.ppt
- 户籍制度下的教育公平---毛海燕.ppt
- 房地产企业税收陷阱规避与纳税筹划_图文.ppt
- 房务车摆放制度.ppt
- 广告文案第五章.ppt
- 2025年中国液压多刀车床行业市场调查、投资前景及策略咨询报告.docx
- 科学改变生活.pptx
- 2025至2030年中国电缆母粒市场现状分析及前景预测报告.docx
- 2025至2030年中国工程车轮胎模具市场现状分析及前景预测报告.docx
- 特殊教育学校改扩建工程投资计划书(模板).docx
- 2025至2030年中国汽车车轮球面螺母市场现状分析及前景预测报告.docx
- 2025年中国工具五金配件行业市场调查、投资前景及策略咨询报告.docx
- 2025年中国飞机台式PVC生产线行业市场调查、投资前景及策略咨询报告.docx
- 2025年执业药师之《药事管理与法规》考前冲刺模拟题库含答案详解.docx
- 2025至2030年中国线钳市场现状分析及前景预测报告.docx
文档评论(0)