多道程序设计提高了处理器的利用率,但是也带来了一些制约问题,比如,一个进程的执行有时要受另一个进程的制约。同时执行的程序形成了并发的进程。
并发的进程带来了很多问题,但是,也有很多方法可以解决。
首先是与时间有关的问题,因为临界区中的共享变量运行多个进程访问,造成了与时间有关的 问题,为了解决这个问题,引入了PV操作用来实现对临界区的 管理。同时,PV操作也可以解决进程的互斥和同步的问题。
虽然PV操作有这么多的好处,但是还是有缺点的。
在进行进程间的大量信息交换时,就要采用进程通信来替代低级的PV操作了。
PV操作的另一个小漏洞就是没有考虑到可能产生死锁的问题,对于死锁问题,就要专门针对破坏产生死锁的4个条件来避免和防止死锁,采用设置两张记录进程使用和等待资源的情况来检查死锁。