操作系统pv原语,咯

1、有进程A对文件F进行读操作,进程B对文件F进行写操作,对文件F的读写操作不能同时进行。请利用PV原语和信号量实现进程A与B的互斥。

这种题目不难,把信号量确定好,然后按进程流程写就好了。



```c
semaphore read = 1;  // 读信号量
semaphore write = 1; // 写信号量

void A(){
        wait(write); // 等待文件F的写操作完成
        // 读取文件F的数据
        signal(write); // 文件F的写操作已完成,解锁
}
void B(){
        wait(read); // 等待文件F的读操作完成
        wait(write); // 等待文件F的写操作完成
        // 写入文件F的数据
        signal(write); // 文件F的写操作已完成,解锁
        signal(read); // 文件F的读操作已完成,解锁  
}

```