首页 > 题库 > 学历提升 > 自学考试 > 自考本科 > 计算题

有三组并发进程:读者、写者和管理者,它们共享一组数据区,大小为N,写者每次写入一个单位的数据,管理者每次删除-一个单位的数据。允许多个读者同时执行读操作;不允许读者、写者、管理者同时操作;有写者等待时,如有其它读者正在读,则新读者也可以读(即读优先);不允许多个写者同时操作;写满后必须等待管理者删除。写者操作前首先检查是否有空间,管理者操作前首先检查是否有数据。

要求:
(1)说明三组进程之间的同步与互斥关系。
(2)以下是用信号量P、V操作实现的读者、写者和管理者三个进程的同步程序。补充题目中的P、V操作,将编号①~⑧处空缺的内容填写在答题卡上。
全局变量readcount和4个信号量s1、s2、 w、mutex 的定义如下:
readcount表示正在读的读者数目,初值为0;
s1表示空数据区的大小,初值为数据区的大小N;
s2表示已用数据区的大小,初值为0;
W用于读者、写者和管理者之间、写者和写者之间、管理者和管理者之间的互斥,
初值为1;
mutex用于对readcount这个临界资源的互斥访问,初值为1。

参考答案: 查看答案 查看解析 下载APP畅快刷题

相关知识点试题

相关试卷