管程(Monitor,监视器)
“管理进程”,即用于实现基础南横同步的工具,是由代表共享资源的数据结构和一组过程(进程PV操作的函数)组成的管理程序(封装)
【管理进程同步的工具】
面向对象的编程语言中,每个对象在底层OS内部都会绑定一个管程
是由普通的进程调用的程序,在OS中会存在多个管程,由进程的调用而产生,完成特定的功能,如同步、互斥。
是一个模块化的基本程序单位,有特定功能的小程序,类似原语但比原语复杂得多。
基本特性:
- 是一个模块化的基本程序单位,可以单独编译
- 是一种抽象数据类型,包含数据和操作
- 信息掩蔽,共享数据只能被管程内的过程访问
组成:
- 共享数据(管理共享资源的数据)
- 一些数据结构
- PV操作(包括wait、signal等)及一些完成管程本身初始化的操作
管程可以理解为一个非常重要的对象/实例