有三组并发进程:读者、写者和管理者,它们共享一组数据区,大小为N,写者每次写入一个单位的数据,管理者每次删除一个单位的数据。允许多个读者同时执行读操作;不允许读者、写者、管理者同时操作;有写者等待时,如有其它读者正在读,则新读者也可以读(即读优先);不允许多个写者同时操作;写满后必须等待管理者删除。写者操作前首先检查是否有空间,管理者操作前首先检查是否有数据。
要求:
(1)说明三组进程之间的同步与互斥关系。
(2)以下是用信号量P、V操作实现的读者、写者和管理者三个进程的同步程序

欢迎免费使用小程序搜题/刷题/查看解析,提升学历,成考自考报名,论文代写、论文查重请加客服微信skr-web

有三组并发进程:读者、写者和管理者,它们共享一组数据区,大小为N,写者每次写入一个单位的数据,管理者每次删除一个单位的数据。允许多个读者同时执行读操作;不允许读者、写者、管理者同时操作;有写者等待时,如有其它读者正在读,则新读者也可以读(即读优先);不允许多个写者同时操作;写满后必须等待管理者删除。写者操作前首先检查是否有空间,管理者操作前首先检查是否有数据。
要求:
(1)说明三组进程之间的同步与互斥关系。
(2)以下是用信号量P、V操作实现的读者、写者和管理者三个进程的同步程序。
补充题目中的P、V操作,将编号①-⑧处空缺的内容填写在答题卡上。
全局变量readcount和4个信号量sl、s2、w、mutex的定义如下:
readcount表示正在读的读者数目,初值为O;
s1表示空数据区的大小,初值为数据区的大小N;
s2表示已用数据区的大小,初值为0;
W用于读者、写者和管理者之间、写者和写者之间、管理者和管理者之间的互斥,初值为1;
mutex用于对readcount这个临界资源的互斥访问,初值为1。

(1)读者、写者、管理者三类进程之间存在同步关系(它们共享一组数据区)
读者之间、写者之间存在同步关系(其它读者正在读,新读者也可以读;不允许多个写者同时操作)
写者和管理者之间存在同步关系(写满后必须等待管理者删除)
(2)①P(sl)     ②P(w)
③V(w)        ④V(s2)(顺序可换)
⑤P(s2)       ⑥P(w)
⑦V(w)        ⑧V(sl)(顺序可换)

访客
邮箱
网址

通用的占位符缩略图

人工智能机器人,扫码免费帮你完成工作


  • 自动写文案
  • 自动写小说
  • 马上扫码让Ai帮你完成工作
通用的占位符缩略图

人工智能机器人,扫码免费帮你完成工作

  • 自动写论文
  • 自动写软件
  • 我不是人,但是我比人更聪明,我是强大的Ai
Top