createchance 2013-09-09 02:37 采纳率: 66.7%
浏览 2659
已采纳

有关操作系统PV原语的问题

在操作系统中有PV原语对进程同步和互斥进行管理,现在假如有三个进程A,B,C,而他们所需的资源系统只有一个,现在A进程运行,他会使用P原语使资源数减一成为0,这时B进程也在申请所以他会被阻塞,这时的资源数为-1,表示有一个进程被阻塞,这时又有C进程申请,他也会被阻塞,也会将资源数减一成为-2。请问这时如果A进程释放该资源,使资源数成为-1,那么这时B进程会由调度成为就绪态,但是操作系统怎么知道这时的资源数-1是什么意思呢?这时的-1是表示有一个进程被阻塞吗?那么这时的资源数又怎么表示啊???

  • 写回答

1条回答 默认 最新

  • 千层锦 2013-12-26 13:17
    关注

    这里不是根据-1,-2或者负几来判断来调用被阻塞的进程的,而是只要小于0就回去调用阻塞队列里的第一个进程。-1就代表一个进程阻塞,-2代表2个进程阻塞。而资源数的问题,你一开始不就说累了资源系统只有一个吗。你一开始设的初始值1代表着资源数是1,后面那个变量就和资源数没关系了。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 使用phpstudy在云服务器上搭建个人网站
  • ¥15 应该如何判断含间隙的曲柄摇杆机构,轴与轴承是否发生了碰撞?
  • ¥15 vue3+express部署到nginx
  • ¥20 搭建pt1000三线制高精度测温电路
  • ¥15 使用Jdk8自带的算法,和Jdk11自带的加密结果会一样吗,不一样的话有什么解决方案,Jdk不能升级的情况
  • ¥15 画两个图 python或R
  • ¥15 在线请求openmv与pixhawk 实现实时目标跟踪的具体通讯方法
  • ¥15 八路抢答器设计出现故障
  • ¥15 opencv 无法读取视频
  • ¥15 按键修改电子时钟,C51单片机