生产者消费者模型
进程间的两种制约关系
1)间接相互制约关系
同处于一个系统中的进程,通常都共享着某种系统资源。如共享CPU,共享I/O设备等。所谓间接相互制约即源于这种资源共享。
2)直接制约关系
这种制约主要源于进程间的合作。
临界资源
许多硬件资源,如打印机,磁带机等,都属于临界资源,诸进程间应采取互斥方式,实现对这种资源的共享。
生产者-消费者模型
有一群生产者进程在生产产品,并将这些产品提供给消费者进程去消费。
- 生产者生产时至少有一个缓冲区是空的;
- 消费者消费时至少有一个缓冲区是满的。
- 先在缓存中操作然后在内存中更新数据。
临界区
每个进程中访问临界资源的那段代码。
信号量机制
在互斥中,wait是等,signal是释放
在共享中,wait是等,signal是发送请求
原子操作:要么一直运行到结束,要么不执行。
四种信号量机制
and信号量的执行语句
进程所需资源要一次性分配。