1 / 12
文档名称:

操作系统附加题答案.ppt

格式:ppt   大小:328KB   页数:12页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

操作系统附加题答案.ppt

上传人:幻影 2021/2/25 文件大小:328 KB

下载得到文件列表

操作系统附加题答案.ppt

相关文档

文档介绍

文档介绍:操作系统附加题答案
进程同步问题
操作系统附加题
作业
由三个进程get,copy和put以及两个缓冲区buffer1和buffer2完成 一项输入/输出操作。进程get的功能是把一张卡片上的信息从读卡机上读进buffer1;进程copy的功能是把buffer1中的信息复制到buffer2;进程put的功能是取出buffer2中的信息并从打印机上打印输出。试用P、V操作完成这三个进程间的尽可能并发正确执行的关系(用程序或框图表示),并指明信号量的作用和初值。
某寺庙,有小和尚、老和尚若干。有一水缸,由小和尚提水入缸老和尚饮用。水缸可容十桶水,水取自同一井中。水井径窄,每次只能容一个桶取水。水桶总数为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;
              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);
       }
}