首页 > 其他分享 >操作系统综合题之“用记录型信号量机制的wait和signal操作来保证文件的正确打印,并写出同步代码(代码补充)”

操作系统综合题之“用记录型信号量机制的wait和signal操作来保证文件的正确打印,并写出同步代码(代码补充)”

时间:2024-03-20 20:25:04浏览次数:30  
标签:记录 代码 综合题 信号量 mutex 缓冲区 signal wait

1.问题:有两个进程pA和pB合作解决文件打印的问题:pA将文件记录从磁盘读入住库存的缓冲区,每次执行一次读一个记录;pB将缓冲区的内容打印出来,每次执行一次打印一个记录。缓冲区的大小等于一个记录大小

请用记录型信号量机制的wait(S)和signal(S)操作来保证文件的正确打印,并写出同步代码

2.参考答案

答:为了缓冲区设置互斥信号量mutex,设置资源信号量empty和full。

3个信号量的初始值分别为mutex.vlaue = 1,empty.value = 1 ,full.value = 0

 

pA{

从文件中读一条记录;

wait(empty);

外推(mutex);

将数据写入缓冲区;

signal(mutex);

signal(full);

}

 

pB{

wait(full);

wait(mutex);

从缓冲区中读一条记录;

signal(mutex);

signal(empty);

打印数据;

}

 

标签:记录,代码,综合题,信号量,mutex,缓冲区,signal,wait
From: https://www.cnblogs.com/saoge/p/18085989

相关文章