❦♛ら 2023-04-28 09:53 采纳率: 50%
浏览 4

操作系统pv原语,咯

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

  • 写回答

2条回答 默认 最新

  • 寒意漫彻山川 2023-04-28 10:25
    关注

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

    
    
    ```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的读操作已完成,解锁  
    }
    
    

    ```

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 4月28日

悬赏问题

  • ¥15 苹果系统的mac m1芯片的笔记本使用ce修改器使用不了
  • ¥15 单相逆变的电压电流双闭环中进行低通滤波PID算法改进
  • ¥15 关于#java#的问题,请各位专家解答!
  • ¥15 如何卸载arcgis 10.1 data reviewer for desktop
  • ¥15 共享文件夹会话中为什么会有WORKGROUP
  • ¥15 关于#python#的问题:使用ATL02数据解算光子脚点的坐标(操作系统-windows)
  • ¥115 关于#python#的问题:未加密前两个软件都可以打开,加密后只有A软件可打开,B软件可以打开但读取不了数据
  • ¥15 在matlab中Application Compiler后的软件无法打开
  • ¥15 想问一下STM32创建工程模板时遇到得问题
  • ¥15 Fiddler抓包443