手机版

课后部分习题答案(汤子赢版)(5)

发布时间:2021-06-07   来源:未知    
字号:

计算机操作系统第四版汤小丹版

@. 试修改下面生产者——消费者问题解法中的错误:

producer: consumer:

begin begin

repeat repeat

produce an item in nextp; wait(mutex);

wait(mutex); wait(empty);

wait(full); nextc:=buffer(out);

buffer(in):=nextp; out:=out+1;

signal(mutex); signal(mutex);

until false; consume item in nextc; end until false;

end

@. 试利用记录型信号量写出一个不会出现死锁的哲学家进餐问题的算法。 三种解决方法中的任意一种即可(略)。P62

@. 在测量控制系统中的数据采集任务时,把所采集的数据送往一单缓冲区;计算任务从该单缓冲区中取出数据进行计算。试写出利用信号量机制实现两任务共享单缓冲区的同步算法。

a. Var mutex, empty, full: semaphore:=1, 1, 0;

gather:

begin

repeat

gather data in nextp;

wait(empty);

wait(mutex);

buffer:=nextp;

signal(mutex);

signal(full);

until false;

end compute: begin repeat wait(full); wait(mutex); nextc:=buffer; signal(mutex); signal(empty); compute data in nextc; until false; end

compute:

begin

repeat

wait(full);

nextc:=buffer;

signal(empty);

compute data in nextc;

until false;

end b. Var empty, full: semaphore:=1, 0; gather: begin repeat gather data in nextp; wait(empty); buffer:=nextp; signal(full); until false; end

@. 试比较进程间的低级通信工具与高级通信工具.

课后部分习题答案(汤子赢版)(5).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
×
二维码
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)