课后部分习题答案(汤子赢版)(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文档下载到电脑

精彩图片

热门精选

大家正在看

× 游客快捷下载通道(下载后可以自由复制和排版)

限时特价:7 元/份 原价:20元

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219