当前位置:首页 > 操作系统(02326) > 正文内容

假设有一个成品仓库,总共能存放8台成品,生产者进程生产产品放人仓库,消费者进程从仓库中取出成品消费。为了防止积压,仓库满的时候就停止生产。由于仓库搬运设备只有一套,故成品的存人和取出只能分别执行,使用P、V操作来实现该方案。

高老师2年前 (2024-03-26)操作系统(02326)12

假设有一个成品仓库,总共能存放8台成品,生产者进程生产产品放人仓库,消费者进程从仓库中取出成品消费。为了防止积压,仓库满的时候就停止生产。由于仓库搬运设备只有一套,故成品的存人和取出只能分别执行,使用P、V操作来实现该方案。

begin mutex,full,empty:semaphore; mutex:=1; empty:=8; full:=0; cobegin process Prod ucer begin 生产一个成品; P(empty); P(mutex); 将产品存人仓库; V(mutex); V(full); end; process Consumer begin P(full); P(mutex); 将产品从仓库取出; V(mutex); V(empty); 消费成品; end; coend; end;

扫描二维码免费使用微信小程序搜题/刷题/查看解析。

版权声明:本文由翰林刷题小程序授权发布,如需转载请注明出处。

本文链接:https://doc.20230611.cn/post/435783.html

分享给朋友: