操作系统附加题答案.pptx

上传人:王** 文档编号:275201 上传时间:2023-04-24 格式:PPTX 页数:11 大小:354.01KB
下载 相关 举报
操作系统附加题答案.pptx_第1页
第1页 / 共11页
操作系统附加题答案.pptx_第2页
第2页 / 共11页
操作系统附加题答案.pptx_第3页
第3页 / 共11页
操作系统附加题答案.pptx_第4页
第4页 / 共11页
操作系统附加题答案.pptx_第5页
第5页 / 共11页
操作系统附加题答案.pptx_第6页
第6页 / 共11页
操作系统附加题答案.pptx_第7页
第7页 / 共11页
操作系统附加题答案.pptx_第8页
第8页 / 共11页
操作系统附加题答案.pptx_第9页
第9页 / 共11页
操作系统附加题答案.pptx_第10页
第10页 / 共11页
亲,该文档总共11页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《操作系统附加题答案.pptx》由会员分享,可在线阅读,更多相关《操作系统附加题答案.pptx(11页珍藏版)》请在优知文库上搜索。

1、进程同步问题操作系统附加题作业由三个进程由三个进程getget,copycopy和和putput以及两个缓冲区以及两个缓冲区buffer1buffer1和和buffer2buffer2完成完成 一项输入一项输入/ /输出操作。进程输出操作。进程getget的功能是把一张卡片上的信的功能是把一张卡片上的信息从读卡机上读进息从读卡机上读进buffer1buffer1;进程;进程copycopy的功能是把的功能是把buffer1buffer1中的中的信息复制到信息复制到buffer2buffer2;进程;进程putput的功能是取出的功能是取出buffer2buffer2中的信息并中的信息并从打印机

2、上打印输出。试用从打印机上打印输出。试用P P、V V操作完成这三个进程间的尽可操作完成这三个进程间的尽可能并发正确执行的关系能并发正确执行的关系( (用程序或框图表示用程序或框图表示) ),并指明信号量的,并指明信号量的作用和初值。作用和初值。某寺庙,有小和尚、老和尚若干。有一水缸,由小和尚提水入某寺庙,有小和尚、老和尚若干。有一水缸,由小和尚提水入缸老和尚饮用。水缸可容十桶水,水取自同一井中。水井径窄,缸老和尚饮用。水缸可容十桶水,水取自同一井中。水井径窄,每次只能容一个桶取水。水桶总数为每次只能容一个桶取水。水桶总数为3 3个。每次入、取水仅为一个。每次入、取水仅为一桶,且不可同时进行。

3、试给出有关取水、入水的算法描述。桶,且不可同时进行。试给出有关取水、入水的算法描述。 semaphore empty=10;/ 表示缸中目前还能装多少桶水,初始时能装10桶水semaphore full=0;/ 表示缸中有多少桶水,初始时缸中没有水semaphore buckets=3;/ 表示有多少只空桶可用,初始时有3只桶可用semaphore mutex_well=1;/ 用于实现对井的互斥操作semaphore mutex_bigjar=1; / 用于实现对缸的互斥操作young_monk() while(1) P(empty); P(buckets); go to the well;

4、 P(mutex_well); get water; V(mutex_well); go to the temple; P(mutex_bigjar); pure the water into the big jar; V(mutex_bigjar); V(buckets); V(full); old_monk() while() P(full); P(buckets); P(mutex_bigjar); get water; V(mutex_bigjar); drink water; V(buckets); V(empty); 47. 47. 系统中有多个生产者进程和多个消费者进程,共系统中

5、有多个生产者进程和多个消费者进程,共享一个能存放享一个能存放 1000 1000 件产品的环形件产品的环形 缓冲区(初始为缓冲区(初始为空)。当缓冲区未满时,生产者进程可以放入其生产的空)。当缓冲区未满时,生产者进程可以放入其生产的一件产品,否则等待;一件产品,否则等待; 当缓冲区未空时,消费者进程当缓冲区未空时,消费者进程可以从缓冲区取走一件产品,否则等待。要求一个消费可以从缓冲区取走一件产品,否则等待。要求一个消费者者进程从进程从缓冲区连续取出缓冲区连续取出 10 10 件产品后,其他消费者进件产品后,其他消费者进程才可以取产品。请使用信号量程才可以取产品。请使用信号量 P P,V(wai

6、t()V(wait(), signal()signal()操作实现进程间的互斥与同步,要求写出完操作实现进程间的互斥与同步,要求写出完整的过程,并说明所用信号量的含义和整的过程,并说明所用信号量的含义和 初值。初值。semaphore mutex1=1; semaphore mutex2=1; semaphore empty=n; semaphore semaphore mutex1=1; semaphore mutex2=1; semaphore empty=n; semaphore full=0; full=0; producerproducer()()while(1while(1)生产生

7、产一个产品一个产品; ;P(emptyP(empty););/判断缓冲区是否有空位判断缓冲区是否有空位P(mutex2P(mutex2););/互斥访问缓冲区互斥访问缓冲区 把把产品放入缓冲区产品放入缓冲区; ;V(mutex2V(mutex2););/互斥访问缓冲区互斥访问缓冲区V(fullV(full););/产品的数量加产品的数量加 1 1 consumerconsumer()()while(1while(1)P(mutex1P(mutex1) )/连续取连续取 10 10 次次for(for(intint i = 0; i = 10; +i)i = 0; i = 10; +i)P(fullP(full););/判断缓冲区是否有产品判断缓冲区是否有产品P(mutex2P(mutex2););/互斥访问缓冲区互斥访问缓冲区 从从缓冲区取出一件产品缓冲区取出一件产品; ;V(mutex2V(mutex2););/互斥访问缓冲区互斥访问缓冲区V(emptyV(empty););/腾出一个空位腾出一个空位 消费消费这件产品这件产品; ; V(mutex1V(mutex1) )

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 中学教育 > 中考

copyright@ 2008-2023 yzwku网站版权所有

经营许可证编号:宁ICP备2022001189号-2

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!