1、進程的基本概念
程序的順序執行和併發執行
程序的順序執行
程序的順序執行是指該程序獨佔整個系統中的所有資源,處理機嚴格按照程序所規定的順序進行操作,只有在前一個操作執行完後,才進行後繼操作。
特徵:1、順序性
2、封閉性
3、可再現性
多道程序設計
特點:
1、獨立性
2、隨機性
3、資源共享
程序的併發執行
一組在邏輯上互相獨立的程序或程序段在執行過程中其執行時間在客觀上互相重疊,即一個程序段的執行尚未結束,另一個程序段的執行已經開始的執行方式。
特徵:
1、間斷性
2、失去封閉性
3、不可再現性
進程的定義和特徵
進程的定義:一個具有一定獨立功能的程序關於某個數據集合的一次運行活動。
進程的特徵
1、結構特徵
2、動態性
3、併發性
4、獨立性
5、異步性
進程狀態及其轉換
進程的基本狀態
(1)、就緒狀態
當進程已分配到除處理機以外的所有必要的資源後,只要再獲得處理機便可立即執行,這時進程的狀態稱爲就緒狀態。
(2)執行狀態
指進程已獲得處理機、其程序正在執行的狀態。
(3)陰塞狀態
正在執行的進程因發生某些事件而暫時無法繼續執行時,便放棄處理機而處於暫停狀態,這種暫停狀態被稱爲陰塞狀態。
進程狀態的轉換圖見附件
進程的結構
進程的實體
(1)進程控制塊(PCB)
是進程實體的一部分,是操作系統中最重要的記錄型數據結構(鏈表)。PCB中記錄了操作系統所需的,用於描述進程進展情況及控制進程運行所需的全部信息。
PCB是進程存在的惟一標誌
一般把PCB存放在操作系統專門開闢的PCB區內。
主要包括四方面的信息:
(1)進程的描述信息
A、進程的標識符。每個進程都有惟一的進程標識符,用以識別不同的進程。
B、用戶名或用戶標識號。每個進程都隸屬於某個用戶,有利於資源共享與保護。
B、家族關係。標識進程之間的家族關係。
(2)處理機狀態信息
通用寄存器、指令計數器、程序狀態字(PSW)、用戶棧指針等
(3)進程調度信息
A、進程狀態。指明進程的當前狀態,以作爲進程調度和進程對換時的依據。
B、進程優先級。用於描述進程使用處理機的優先級別的一個整數,優先級別高的進程先獲得處理機。
C、進程調度所需的其它的信息。如進程已等待CPU的時間總和、進程已執行的時間總和等。
D、事件。指進程被阻塞的原因。
(4)進程控制信息
A、程序和數據的地址。指出該進程的程序和數據所在的內存或外存地址,以便再調度到該進程執行時,能從中找到其程序和數據。
B、進程同步和通信機制。指實現進程同步和進程通信時所必須的機制,如消息隊列指針、信號量等。這些數據應全部或部分地存放在PCB中。
C、資源清單。它是一張列出除CPU之外的進程所需的全部資源和已經分配給該進程的資源清單。
D、鏈接指針。它給出了本進程(PCB)所在隊列的下一個進程的PCB首地址。
在一個系統中,通常擁有數十個、數百個乃至數千個PCB。爲了對PCB進行有效地管理,系統應把所有的PCB用適當的方式組織起來。目前常用的PCB組織方式有鏈接方式和索引兩種方式。
鏈接方式圖見附件。
索引方工圖見附件。
(2)程序段
(3)數據段
2、進程控制
操作系統內核
處理機的執行分成系統態和用戶態兩種。起保護作用。
(1)系統態:具有較高特權,能執行一切指令,訪問所有寄存和存儲區。
(2)用戶態:具有較低特權的執行狀態,只能執行規定的指令,訪問指定的寄存器和存儲區。
(3)操作系統內核:一些硬件緊密相關的模塊,(中斷處理程序,常用的設備驅動程主了以及運行頻率較高的模塊(如時鐘管理,進程調度和公共基本操作模塊)都安排在昆靠硬件的軟件層次中,並使之常駐內存,以提高操作系統的運行效率,通常把這一部分稱爲操作系統內核(Kernel)。
進程控制的概念
進程控制 是進程和處理機管理的一個重要任務。進程控制就是系統使用一些具有特定功能的程序段來創建、撤消進程以及完成進程在各種狀態之間的轉換,從而達到多進程高效率併發執行和協調資源共享的目的。
進程的創建與撤消
進程的阻塞和喚醒