![](https://img-blog.csdnimg.cn/direct/92cf2de6cb0d415cbcc08d15d9da7125.png)
A、B、C都执行完,才能执行D
P操作:申请占用一个资源。S=S-1表示占用一个资源,如果S<0,代表当前无可用的资源,那么进程会进入等待队列等待被唤醒。
V操作:释放一个资源。S=S+1表示释放一个资源,如果S+1后还是≤0,代表等待队列中有进程在等待资源,那么会从等待队列中唤醒一个进程继续执行。
P1、P2都执行完,才能执行P3,P3执行完,才能执行P4、P5。
P1、P2只能是V操作,P4、P5是P操作,P3是先P操作,在V操作。信号量对应就行。
至少13个资源。3个进程都是已经分配4个资源的情况下(3*4=12),第13个资源分配给任意进程都能运行,不会发生死锁。
可用资源9、8、5包括已经分配的资源,所以实际剩余可分配的资源是2、1、0。