## 管程的定義
系統中的各種硬件資源和軟件資源,均可用數據結構抽象地描述其資源特性,即用少量信息和對資源所執行的操作來表征該資源,而忽略了它們的內部結構和實現細節。管程是由一組數據以及定義在這組數據之上的對這組數據的操作組成的軟件模塊,這組操作能初始化并改變管程中的數據和同步進程。
## 管程的組成
1. 局部于管程的共享結構數據說明。
2. 對該數據結構進行操作的一組過程。
3. 對局部于管程的共享數據設置初始值的語句。
## 管程的基本特性
1. 局部于管程的數據只能被局部于管程內的過程所訪問。
2. 一個進程只有通過調用管程內的過程才能進入管程訪問共享數據。
3. 每次僅允許一個進程在管程內執行某個內部過程。
由于管程是一個語言成分,所以管程的互斥訪問完全由編譯程序在編譯時自動添加,無需程序員關注,而且保證正確。
- 1. 操作系統概述
- 2.操作系統(計算機)進程和線程管理
- 2.1 進程的概念和特征
- 2.2 進程的狀態與轉換
- 2.3 進程控制
- 2.4 進程的組
- 2.5 進程的通信
- 2.6 線程的概念和多線程模型
- 2.7 處理機調度
- 2.8 操作系統典型調度算法
- 2.9 進程同步的基本概念
- 2.10 實現臨界區互斥的基本方法
- 2.11 信號量
- 2.12 管程:管程的定義、組成及基本特性
- 2.13 經典進程同步問題1
- 2.14 經典進程同步問題2:讀者-寫者問題
- 2.15經典進程同步問題3:哲學家進餐問題
- 2.16 經典進程同步問題4:吸煙者問題
- 2.17 死鎖的概念以及產生死鎖的原因
- 2.18 關于進程和線程的知識點匯總