操作系统练习题 4-参考答案

简要介绍资料的主要内容,以获得更多的关注

练习题:

1. PV操作经典问题:读者-写者问题

问题描述

写者向数据区放数据,读者从数据区获取数据

多个读者可同时读取数据

多个写者不能同时写数据

读者和写者不能同时操作

参考解答:

w用于读者和写者、写者和写者之间的互斥

readcount表示正在读的读者数目

mutex用于对readcount 这个临界资源的互斥访问

设有两个信号量 w=1,mutex=1,设一个全局变量 readcount =0 分析:

因为只要有一个读者在读,便不允许写者去写。所以:

仅当readcount=0,读者进程才需要执行p(w),同时readcount+1;

仅当readcount-1后其值为0时,读者进程才需要执行v(w),以便让写者写。

读者:

while(1) {

P(mutex);

readcount ++;

if ( readcount==1) P(w);

V(mutex);

P(mutex);

readcount --;

if (readcount==0) V(w);

V(mutex);

};

写者:

你可能喜欢

  • 操作系统期末
  • 计算机操作系统试题及答案
  • 操作系统问答题
  • 进程管理
  • 操作系统习题

操作系统练习题 4 参考答案相关文档

最新文档

返回顶部