- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
操作系统2016要点
void reader( ){ while(TRUE){ wait(mutex) ; if (readcount==0) wait(wmutex); readcount++; signal(mutex) ; …… 执行读操作 …… ; wait(mutex) ; readcount--; if (readcount==0) signal(wmutex); signal(mutex); } } 3.哲学家就餐问题 3.4.5 经典同步问题 * (1)问题描述 有五位哲学家,用一生来思考和吃饭。他们围坐在一张圆桌旁,桌子中央有一大碗米饭,桌上还有五个碗和五只筷子,他们的生活方式是交替地进行思考和进餐。当某位哲学家进行思考时,他不与其它哲学家交互。当他感觉到饥饿时,便试图拿起与其左右最靠近的筷子。 一个哲学家每次只能拿起一只筷子,且他不能从其他哲学家手里拿筷子 只有在他拿到两只筷子时才能进餐 3.4.5 经典同步问题 * (2)用信号量解决哲学家就餐问题 每一只筷子的使用都必须是互斥的,在某一时刻只允许一个哲学家使用,它是临界资源 利用一个信号量表示一只筷子,五只筷子的信号量数组定义为: semaphore chopstick[5]={1, 1, 1, 1, 1}; 利用变量 i 区分不同的哲学家及筷子:int i; 3.4.5 经典同步问题 * void philosopher(int i){ while(TRUE){ /* 先取左侧筷子 */ 思考 ; wait(chopstick[ i ]); wait(chopstick[(i+1) % 5 ]); 进餐 ; signal(chopstick[(i+1) % 5 ]); signal(chopstick[ i ]); } } 可能引起死锁 (1)仅当哲学家的左、右两只筷子均可用时,才允许他拿起筷子进餐; (2)至多只允许有四位哲学家同时去拿左边的筷子,并在某哲学家用餐完毕时能释放出他用过的两只筷子; (3)规定奇数号哲学家先拿他左边的筷子,然后再去拿右边的筷子;而偶数号哲学家则相反。 几种解决死锁的方法: semaphore room=4; void philosopher(int i){ while(TRUE){ 思考 ; wait(room); wait(chopstick[ i ]); wait(chopstick[(i+1) % 5 ]); 进餐 ; signal(chopstick[(i+1) % 5 ]); signal(chopstick[ i ]); signal(room); } } room视作资源信号量 利用信号量机制解题的思路 ① 分析已知条件,确定临界资源、以及对其执行的所有 操作,并为其设定互斥信号量或资源信号量; ② 把对临界资源进行操作的所有对象进行分类; ③ 对每一类不同的操作对象,分别确定其操作步骤—— 基本框架是:Wait( ) → CS → Signal( ) ; ④ 对所有用到的信号量、变量进行初始化;其中—— 互斥信号量初值=1 资源信号量初值=信号量所表示的该类资源的总数 ⑤ 构造一个函数过程(算法),其中各子过程分别描述 不同类别对象的各自操作步骤,使用 “类语言”; ⑥ 检查,确保在算法内针对同一信号量的P,V操作成对! 1. 管程的定义 管程是由一个或多个过程、一个初始化序列和数据组成的软件模块,是一种程序设计语言结构成分,具有和信号量同等的表达能力。 进程可以通过调用管程实现对资源的请求和释放。 3.4.4 管程 * 管程对分散在各进程中的临界区集中进行管理,并将系统中的共享资源用数据结构抽象地表示出来。 管程中的共享变量每次只能被一个进程访问,从而可以提供互斥机制。 管程的主要特点: 共享性:一个进程通过调用管程的一个过程进入管程,管
您可能关注的文档
最近下载
- 山东省青岛市2024-2025学年七年级上学期11月期中英语试题.docx VIP
- 灼热丝试验规范.doc VIP
- 不动产登记实务培训教程课件.pptx VIP
- 高中语文统编版必修 下册(2019)_2022届高考语文二轮复习“科幻小说与魔幻现实主义小说”专练 .doc VIP
- 小学语文大阅读《奇妙的数王国》 指导课件.pptx
- 灼热丝试验及标准.docx VIP
- 新能源零基础知识培训课件.pptx VIP
- 2025年上海市时事政治考试试卷带解析(考试直接用).docx VIP
- 2025年上海市时事政治考试试卷带解析含答案(考试直接用).docx VIP
- 高等有机化学 周环反应.ppt VIP
文档评论(0)