操作系统-信号量机制P、V操作习题全解.ppt

操作系统-信号量机制P、V操作习题全解.ppt

  1. 1、本文档共32页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
1. 在测量控制系统中的数据采集任务时,把采集的数据送一个单缓冲区;计算任务从该缓冲区中取出数据进行计算。利用信号量实现两者共享缓冲区的同步算法。 1. 是producer-consumer问题的简化版 semphore empty=1, full=0 信号量初值必须说明 采集进程: while(1){ wait (empty); put data into buffer; //单缓,无in指针,可写为 buffer=x signal (full);} 计算进程: While(1){ wait (full); get data from buffer; // 单缓,无out指针,可写为 y=buffer signal (empty); } 2. 从读卡机上读进N张卡片,然后复制一份,要求复制出来的卡片与读进的卡片完全一样。该任务由三个进程get,copy和put及两个缓冲区buffer1和buffer2完成。进程get的功能是把一张卡片的信息从读卡机读入buffer1;进程copy是把buffer1中的信息复制到buffer2;进程put的功能是取出buffer2中的信息并从打印机上打印。 要求说明每个信号量是用于解决什么互斥、什么同步关系的。 2. 互斥信号量 s1=1, s2=1; (因为只有一个get、copy和put进程,故可不定义互斥信号量) 同步信号量4个: full1=0, empty1=1; 为一对 full2=0, empty2=1; 为一对 get process: while (1) { read data; wait (empty1); wait (s1) put data into buffer1 //因为是单缓,故无in指针,可写为 // buffer1=x; signal (s1) signal (full1) } Copy process: while (1) { wait (full1) wait (s1) copy data from buffer1 //单缓,无out指针,可写y=buffer1 signal (s1) signal (empty1) wait (empty2) wait (s2) put data into buffer2 // buffer2=y signal(s2) signal (full2) } Put process: while(1) { wait (full2) wait (s2) get data from buffer2 // z=buffer2 signal (s2) signal (empty2) print data on printer } 3.在一个箱子里混装有数量相等的黑色围棋子和白色围棋子,现要用自动分拣系统把黑子和白子分开,该系统由两个并发执行的进程组成,功能如下: 进程A专门拣黑子,进程B专门拣白子; 每个进程每次只拣一个子,当一个进程在拣子时不允许另一个进程去拣子; 当一个进程拣了一个棋子(黑子或白子)以后,必须让另一个进程拣一个棋子(黑子或白子),并要求A进程首先开始。 定义两个同步信号量s1,s2; 因为要求进程A先开始,故S1初值为1;s2初值为0; 4. 某银行提供一个服务窗口和10个等待的座位。顾客到达银行时,若有空座位,则到取号机上领取一个号,等待叫号。取号机每次允许一位顾客使用。当营业员空闲时,通过叫号选取一位顾客,并为其服务。顾客和营业员的活动描述如下: Process 顾客 i: { 从取号机获取一个号码; 等待叫号; 获得服务; } Process 营业员 while(TRUE) { 叫号; 为顾客提供服务; } 请用P、V操作实现上述过程中的互斥与同步。说明信号量的含义并赋初值。 两个互斥互斥关系: 一台叫号机--mutex=1 10个座位-- empty=10 两个同步关系: 有顾

文档评论(0)

180****8526 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档