四个进程A、B、C、D都要读一个共享文件F,系统允许多个进程同时读文件F。但限制是进程A和进程C不能同时读文件F,进程B和进程D

作者:高老师 浏览 0

四个进程A、B、C、D都要读一个共享文件F,系统允许多个进程同时读文件F。但限制是进程A和进程C不能同时读文件F,进程B和进程D也不能同时读文件F。为了使这四个进程并发执行时能按系统要求使用文件,现用PV操作进行管理, 请回答下面的问题: (1)如何定义信号量及初值? (2)在下列程序的序号处填上适当的P、V操作,以保证它们能正确地并发工作。


【正确答案】:(1) 设置两个信号量S1、S2,初值分别为1。(2) [1] P(S1)  [2] V(S1)  [3] P(S2)  [4] V(S2)   [5] P(S1)  [6] V(S1)  [7] P(S2)  [8] V(S2)
【题目解析】:(1) 设信号量S1用来保证进程A、C对文件的互斥访问,初值为1   设信号量S2用来保证进程B、D对文件的互斥访问,初值为1(2) 把读文件放在P(S1)和 V(S1),完成进程A、C对文件互斥读访问   把读文件放在P(S2)和 V(S2),完成进程B、D对文件互斥读访问   进程A、B,进程C、D可以同时读文件。

📱 扫码体验刷题小程序

微信小程序二维码

扫一扫使用我们的微信小程序

热门题目

已复制到剪贴板