电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

操作系统计算题总结

操作系统计算题总结_第1页
1/17
操作系统计算题总结_第2页
2/17
操作系统计算题总结_第3页
3/17
应用类型知识要点一:进程同步问题整形信号量:未遵循“让权等待原则”wait(S): while S<=0 do no-op; S:=S-1;signal(S): S:=S+1记录型信号量:执行 wait 操作时,信号量的值加 1,信号量的值小于 0 时堵塞;执行 signal 操作时,信号量的值减 1,信号量的值小于等于 0 时唤醒堵塞中的进程。type semaphore=record value:integer; L:list of process; endprocedure wait(S)var S:semaphore;beginS.value=S.value-1;if S.value<0 then block(S.L);endprocedure signal(S)var S:semaphore;beginS.value:=S.value+1;if S.value<=0 then wakeup(S.L);end生产者-消费者问题读者-写者问题哲学家进餐问题理发室问题进程同步问题求解要领仔细审题、确立信号量及关键变量构建算法基本步骤及逻辑结构资源信号量申请先于互斥信号量申请wait 操作与 signal 操作配对出现利用信号量描述前趋关系Var a,b,c,d,e,f,g,h:semaphore:=0,0,0,0,0,0,0,0;beginparbeginbegin S1;signal(a);signal(b);endbegin wait(a);S2;signal(c);signal(d);endbegin wait(b);S3;signal(e);endbegin wait(c);S4;signal(f);endbegin wait(d);S5;signal(g);endbegin wait(e);S6;signal(h);endbegin wait(f);wait(g);wait(f);S7;endparendend首先应找出所有的前趋关系。然后,对每一种前趋关系,如 Si->Sj,专门设置一初值为 0 的信号量,并在 Si 结束之后执行对该信号量的 signal 操作,而在 Sj 开始之前执行对该信号量的 wait 操作,这样便可保证程序段 Si 执行完后才执行程序段 Sj。生产者-消费者问题主程序(n 为常量)Var buffer:array[0,…,n-1] of item;利用信号量实现互斥主程序子程序Var mutex:semaphore:=1;beginparbeginprocess1;process2;parendendprocess1beginrepeatwait(mutex);临界区signal(mutex);……until falseendprocess2beginrepeatwait(mutex);临界区signal(mutex)……until falseend1.互斥信号量初值为 12.互斥信号量 wait 和 signal 肯定出现在同一进程中,并出现在需要互斥访问数据(临界资源)前后S1S2S3S4S5S6S7abcdefhgin, out: integer:=0,0;mutex,empty,full:semaphore:=1,n,0;beginparbeginproducer1;…;produceri;…;producerM;consumer1;…consumerj;…;consumerN;parendend生产者子程序消费者子程序produceriVar nextp:item;beginrepeatProduce an item in n...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

操作系统计算题总结

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部