手机版

操作系统 课后答案(7)

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

v(wmutex);

p(rwmutex); //其他写进程在rwmutex上排队

write data; //临界区

v(rwmutex); p(wmutex); --writecount;

if(writecount==0) v(x); //写进程都写完时,通过v(x)允许读进程读 v(wmutex); }

附加题:

读者优先,规定仅允许5个进程同时读,怎样修改程序?

解:增加一个资源信号量s,初值为5。 int s=5;

Reader:

begin P(rmutex); readcount=readcount+1; if(readcount==1)then P(rwmutex); V(rmutex); P(s); read_file(); V(s); P(rmutex); readcount=readcount-1; if(readcount==0)then V(rwmutex); V(rmutex); end

writer:

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