- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[工学]操作系统教程第3章-3 进程的同步与互斥
第3章 进程管理 3.1 进程的引入 3.2 进程的结构 3.3 进程控制 3.4 进程的同步与互斥 3.5 进程间通信 3.6 进程调度 3.7 死锁 3.8 线程 临界资源 临界资源 系统中某些资源一次只允许一个进程使用,称这样的资源为临界资源或互斥资源或共享变量。 硬件临界资源:打印机、磁带机 软件临界资源:只能排它使用的变量、表格、队列 具有临界资源的进程结构 …… /*进入区*/ critical section; /*临界区*/ /*退出区*/ remainder section; /*剩余区*/ …… 访问临界区应遵循的原则 空闲让进 当无进程在临界区时,任何有权使用临界区的进程可进入。 忙则等待 不允许两个以上的进程同时进入临界区。 有限等待 任何进入临界区的要求应在有限的时间内得到满足。 让权等待 不能进入临界区的进程应放弃占用CPU。 临界区互斥解决方法 软件 用编程解决 缺点: (1)忙等待 (2)实现过于复杂,需要高的编程技巧 硬件 专用机器指令方法 屏蔽中断方法 缺点:忙等待 信号量机制 整型信号量 整型信号量 信号量S:整型量,除初始化外仅能通过P、V操作访问 P和V操作原语定义: int S; S=1; P(S): while S ≤0 do no-op S = S -1; V(S ):S = S +1; 记录型信号量描述 struct semaphore { int value; int *L; } void P(struct semaphore S); { S.value = S.value – 1; /* 把信号量减去1 */ if S.value 0 then block(S.L); /* 若信号量小于0,则调用P(S)的进 程被置成等待信号量S的状态 */ } 物理意义:申请一个资源,如果申请成功,则返回;如果申请不成功,则挂在该资源的等待队列上。 void V(struct semaphore S); { S.value = S.value + 1; /* 把信号量加1 */ if S.value = 0 then wakeup(S.L); /* 若信号量小于等于0,则释放一个等待信号量s的进程 */ } 物理意义:归还一个资源,如果没有进程等待该资源,则返回;如果有进程在等待,把等待的进程从L上移到就绪队列。 利用记录型信号量实现进程互斥 设有三个并发执行的进程P1、P2、P3,其前趋图如下,试用信号量实现这三个进程同步。 设两个同步信号量S1、S2分别表示进程P2、P3能否开始执行 struct semaphore S1,S2=0,0; /*初值均为0*/ { cobegin P1: {? V(S1); V(S2); } P2: { P(S1); ?; } P3: { P(S2); ? ; } coend } 经典的进程同步问题 生产者/消费者问题 读者/写者问题 哲学家进餐问题 生产者/消费者问题 生产者消费者问题是一种同步问题的抽象描述。计算机系统中的每个进程都可以消费(使用)或生产(释放)某类资源。这些资源可以是硬件资源,也可以是软件资源。 当某一进程使用某一资源时,可以看作是消费,称该进程为消费者。而当某一进程释放某一资源时,它就相当于生产者。 生产者/消费者问题(描述) 通过一个公用缓冲池可以把一群生产者p1,p2…,pm,和一群消费者Q1,Q2,…,Qn联系起来。如图: 只要缓冲区未满,生产者就可以把产品送入缓冲区; 只要缓冲区未空,消费者就可以从缓冲区中取走物品。 生产者/消费者问题(图示) 生产者/消费者问题(分析) 为解决生产者消费者问题,应该设两个同步信号量,一个说明空缓冲区的
您可能关注的文档
最近下载
- 湖南省永州市第四中学2024-2025学年高一上学期入学测试物理试题.docx VIP
- 新22J04-1 内装修一(墙面、吊顶).docx VIP
- 供水管网改造工程监理规划.doc VIP
- 三种常见大豆蛋白质分离纯化提取方法是什么.doc VIP
- (高清版)T-D-T 1015.2-2024 地籍数据库 第2部分:自然资源.pdf VIP
- 风电、光伏项目前期及建设手续办理流程汇编.docx
- 《产品碳足迹量化方法 输电和配电设备》(TJSQA 186-2024).pdf VIP
- 《轴承安装与维护》课件.ppt VIP
- 公安局辅警招聘考库《综合理论知识》(含政治理论、法律法规、公安工作基本知识)教程分析.doc VIP
- 二级叉车司机(技师)技能认定理论考试卷.docx VIP
文档评论(0)