操作系统之进程管理:16、管程
思维导图
为什么引入管程?
例如上图中,互斥与同步顺序出错就会产生死锁
什么是管程?
剖析一下上面的定义发现:
其实他对管程的定义和类的定义非常的相似
一组过程:就相当于类中的一组操作函数
共享数据结构说明和初始化:就相当于类中的变量声明与初始化
管程的名字:相当于类中的类名
在来看一下,引入管程是因为在对进程实现互斥、同步操作时,P、V操作太过复杂,极易出错。我们需要实现一种简单的机制:通过调用一组过程(函数)直接实现进程的互斥、同步操作。而不在乎进程互斥、同步操作的具体实现。这样,我们只需要对函数进行简单调用就可以实现进程互斥、同步。(封装思想)