一、为什么要引入管程
1、把分散在各进程中的临界区集中起来进行管理
2、防止进程有意或无意的违法同步操作
3、便于使用高级语言书写程序
二、管程的定义和属性
定义:局部于自己的若干公共变量及其说明和所有访问这些公共变量的过程所组成的软件模块
属性:共享性、安全性、互斥性
三、管程的结构
四、管程与进程的比较
管程 | 进程 |
定义的是公用数据结构 | 私用数据结构 |
把同步操作集中起来 | 同步操作分散在各个进程 |
管理共享资源 | 管理系统资源以及并发性引入的 |
是被共享资源的进程调用 | |
管程是操作系统的成分,不用撤销创建 | 进程有生命周期 |