? ? ? ? ? ? ?
進程介紹
進程管理也稱為處理機管理。進程主要是為了解決多道程序批處理系統和分時系統中針對多個并發執行的程序,用來描述系統中執行時動態變化過程。進程屬于自愿分配和獨立運行的基本單位。
1、進程的概念知識
1.1 程序順序執行的特征
程序順序執行的特征:順序性、封閉性和可再現性
1.2 程序并發執行的特征
程序并發執行的特征:失去了程序的封閉性、程序和機器的執行程序活動不再一一對應、并發程序間相互制約性。
2、進程的組成
進程是程序的一次執行,該程序可以和其他程序并發執行。進程由程序、數據、進程控制塊(PCB)組成。
2.1 程序
程序部分描述了進程所需要完成的功能。
2.2 數據
數據部分包括程序執行所需要的數據和工作區域。
2.3 PCB
PCB是進程存在唯一的標識。主要包括進程標識符、狀態、位置信息、控制信息、隊列指針、優先級、現場保護區、其他。
3、進程的狀態及其狀態間的切換
3.1 三態模型
進程分為三種基本狀態:
運行:在處理機上運行。
就緒:獲得了除處理機外的一切所需資源,一旦得到處理機就能運行。
阻塞:等待或睡眠狀態,屬于暫時停止執行狀態。
? ? ? ? ? ? ?
3.2 五態模型
五態模型是在三態模型的基礎上增加了新建狀態、終止狀態。
? ? ? ? ? ? ?
4、進程控制
進程控制就是對系統中所有進程整個生命周期的有效控制。
操作系統控制機構功能主要包括:創建一個進程、撤銷一個已完成的進程、改變進程的狀態、實現進程間的通信。
5、進程間的通信
在多道程序環境的系統中存在多個可以并發執行的進程,進程間必然存在資源共享、互相合作的問題。需要通過進程通信實現進程間的信息交換。
5.1 進程的同步與互斥
1、進程的同步:系統中一些需要相互合作,協調工作的進程,這樣的相互聯系稱為進程的同步。
2、進程的互斥:指系統中多個進程因爭用臨界資源而相互執行。
臨界資源:多道程序系統環境中,各進程可以共享各類資源,但有些資源一次只能提供一個進程使用。比如打印機等。
3、臨界區管理的原則
臨界區:是進程中對臨界資源實施操作的那段程序。有以下4條原則:有空即進、無空則等、有限等待、讓權等待。
5.2 信號量機制
信號量機制是一種有效的進程同步與互斥工具。主要有整型信號量、記錄型信號量、信號量集機制。
5.3 高級通信原語
根據交換信息量的多少和效率高度,進程的通信方式分為低級方式和高級方式。PV操作屬于低級通信方式。
采用PV操作實現進程間的通信存在以下問題:編程難度大、通信對用戶不透明、使用不當容易引起死鎖;效率低生產者每次只能向緩沖區放一個消息、消費者只能從緩沖區取一個消息。
高級通信方式:共享存儲模式、消息傳遞模式、管道通信。