- 1、本文档共28页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
【论文资料】OS信号量机制
3.3.2 信号量(semaphore)机制 P51 1、整型信号量机制 2).利用信号量实现互斥 注 意: 3). 利用信号量来描述前趋(合作)关系 前趋关系:并发执行的进程P1和P2中,分别有代码C1和C2,要求C1在C2开始前完成; 例:用信号量来描述如下的前趋图 伪码描述 3、信号量集 1) AND型信号量集机制 2) 一般“信号量集”机制 信号量 3.3.3 经典进程同步问题 P58 生产者--消费者同步的关键问题 采用记录型信号量机制解决该同步问题 2. 读者-写者问题 (readers-writers problem) A.采用记录型信号量机制 B.采用一般信号量集机制 3. 哲学家进餐问题(the dining philosophers problem)(由Dijkstra首先提出并解决) 问题分析 死锁 死锁问题的几种解决方法 P62 Lifang ?2011 * Operating System 前面的互斥算法都存在问题,它们是平等进程间的一种协商机制,需要一个地位高于进程的管理者来解决公有资源的使用问题。OS可从进程管理者的角度来处理互斥的问题,信号量就是OS提供的管理公有资源的有效手段 1965年,由荷兰学者Dijkstra提出,他把互斥的关键概念抽象到信号量这个概念中,是一种卓有成效的进程同步机制 1、整型信号量机制 2、记录型信号量机制 3、信号量集机制 信号量是一个被保护的变量,并且只能通过初始化和两个标准的原子操作来访问. 1).整型信号量 是一个整数,表示空闲资源总数(又称为“资源信号量”) ----若为非负值表示当前的空闲资源数, ----为负值其绝对值表示当前等待临界区的进程数 ----初值应该大于零。 两个原子操作即: P,V操作。也常称为wait(s),singal(s) (P、V分别是荷兰语的test(proberen)和increment(verhogen)) 即: P(s): Wait(s): while s=0 do no_op s:=s-1; V(s): Singal(s): s:=s+1; process1: begin repeat P(mutex); critcial section; V(mutex); remainder section; until false; end 利用信号量实现进程互斥: Var mutex: semaphore ;//说明一个信号量 process1: begin repeat wait(mutex); critical section; signal(mutex); remainder section; until false; end process2: begin repeat wait(mutex); critical section; signal(mutex); remainder section; until false; end 为临界资源设置一个互斥信号量mutex(MUTual EXclusion),初值为1;在每个进程中将临界区代码置于wait(mutex)和signal(mutex)原语之间 必须成对使用wait和signal原语 wait、signal原语不能出现次序错误、重复或遗漏 遗漏wait原语则不能保证互斥访问 遗漏signal原语则不能在使用临界资源之后将其释放(给其他等待的进程); C1 C2 P 2 P 1 C 1 C 2 V(S 12 ); P(S 12 ); 为每个前趋关系设置一个互斥信号量S12,其初值为0 begin S1; signal(a); signal(b); end; begin wait(a); S2; signal(c); signal(d); end; begin wait(b); S3; signal(e); end; begin wait(c); S4; signal(f); end; begin wait(d); S5; signal(g); end; begin wait(e); wait(f); wait(g); S6; end; s1 s2 s4 s5 s3 s6 Var a,b,c,d,e,f,g:semaphore:=0,0,0,0,0,0,0,0; Parbegin Parend; 引入
您可能关注的文档
- 【精品】医案六则60.ppt
- 【精品】医用X射线治疗卫生防护标准.ppt
- 【精品】华北电力大学博士学位论文答辩.ppt
- 【精品】卡泊三醇乳膏联合一周两次广谱中波紫外线光疗.ppt
- 【精品】南方医科大学南方医院中医内科.ppt
- 【精品】卫生人力基本信息及医用设备调查表.ppt
- 【精品】卫生部甲型H1N1流感诊治方案(第三版)解读.ppt
- 【精品】变态反应性皮肤病79.ppt
- 【精品】口腔健康促进与健康教育.ppt
- 【精品】口腔内科学PBL.ppt
- 第12课 大一统王朝的巩固 课件(20张ppt).pptx
- 第17课 君主立宪制的英国 课件.pptx
- 第6课 戊戌变法 课件(22张ppt).pptx
- 第三章 物态变化 第2节_熔化和凝固_课件 (共46张ppt) 人教版(2024) 八年级上册.pptx
- 第三章 物态变化 第5节_跨学科实践:探索厨房中的物态变化问题_课件 (共28张ppt) 人教版(2024) 八年级上册.pptx
- 2025年山东省中考英语一轮复习外研版九年级上册.教材核心考点精讲精练(61页,含答案).docx
- 2025年山东省中考英语一轮复习(鲁教版)教材核心讲练六年级上册(24页,含答案).docx
- 第12课近代战争与西方文化的扩张 课件(共48张ppt)1.pptx
- 第11课 西汉建立和“文景之治” 课件(共17张ppt)1.pptx
- 唱歌 跳绳课件(共15张ppt内嵌音频)人音版(简谱)(2024)音乐一年级上册第三单元 快乐的一天1.pptx
文档评论(0)