1. 程式順序執行時的特徵:順序性,封閉性,可再現性
2. 程序的六大特徵:
1.結構特徵,通常的程式是不能併發執行的,我們會為之配置一程序控制塊,即pcb。程式段,資料,pcb構成了程序實體。
2.動態性,程序的實質是程序實體的一次執行過程
3.併發性,多個程序實體同存於記憶體中,且能在一段時間內同時執行
4.獨立性 5.非同步性 6.制約性
3. 程序的三種基本狀態:就緒狀態,執行狀態,阻塞狀態。
1.程序的轉換圖
執行態:當乙個程序在處理機上執行時,則稱該程序處於執行狀態。處於此狀態的程序的數目小於等於處理器的數目,對於單處理機系統,處於執行狀態的程序只有乙個。
就緒態:當乙個程序獲得了除處理機以外的一切所需資源,一旦得到處理機即可執行,則稱此程序處於就緒狀態。就緒程序可以按多個優先順序來劃分佇列。例如,當乙個程序由於時間片用完而進入就緒狀態時,排入低優先順序佇列;當程序由i/o操作完成而進入就緒狀態時,排入高優先順序佇列。
阻塞態:也稱為等待或睡眠狀態,乙個程序正在等待某一事件發生(例如請求i/o而等待i/o完成等)而暫時停止執行,這時即使把處理機分配給程序也無法執行,故稱該程序處於阻塞狀態。程序的阻塞是程序自身的一種主動行為。
不可能存在直接從阻塞態轉換到執行態。
2.引起掛起狀態的原因:終端使用者的請求,父程序請求,負荷調節的需要,作業系統的需要。
3.用於控制程序的原語有
建立原語(create):建立乙個就緒狀態的程序,使程序從建立狀態變遷為就緒狀態。
撤銷原語:使程序從執行狀態變遷為完成狀態。
阻塞原語(block):使程序從執行狀態變遷為阻塞狀態。
喚醒原語(wakeup):使程序從阻塞狀態變遷為就緒狀態。
掛起原語(suspend):將指定的程序或處於阻塞的程序掛起
4. 為了描述和控制程序的進行,系統為每個程序定義了乙個資料結構——pcb(程序控制塊),pcb是程序存在的唯一標誌
它包含程序識別符號(內部識別符號:每個進行唯一的乙個數字識別符號,外部識別符號:建立者提供),處理機狀態,程序排程資訊和程序控制資訊。
5. 程序同步:
1.有兩種形式的制約:間接性制約(同乙個系統的程序需要共享著某種資源),直接性制約(源於程序間的合作)
2.臨界資源:一次只能供乙個程序訪問的資源。
3.臨界區:把不允許多個併發程序交叉執行的一段程式稱為臨界區或臨界部分。當乙個程序使用該臨界資源時,其他需要訪問該資源的程序必須阻塞,直到占用者釋放該資源。
4.互斥:一組併發程序中的乙個或多個程式段,因共享某一公有資源而導致它們必須以乙個不允許交叉執行的單位執行。也就是說,不允許兩個以上的共享該資源的併發程序同時進入臨界區。
5.訊號量:本身是乙個計數器,使用p,v兩個操作來實現計數的減與加,當計數不大於0時,則程序進入睡眠狀態,它用於為多個程序提供共享資料物件的訪問。
6.互斥量:如果訊號量只存在兩個狀態,那就不需要計數了,可以簡化為加鎖與解鎖兩個功能,這就是互斥量。
6. 實現程序同步的幾種方式:訊號量,管程,訊息傳遞。
作業系統複習 程序管理
程序是程式在核心定義的資料結構上的一次順序執行,它屬於動態的範疇,是操作資訊員進行資源分配和保護的基本單位。程序的執行環境稱為程序的映像,包括 各個通用暫存器的值 程序的記憶體映像 開啟檔案的狀態和程序占用資源的資訊等。其中最主要的部分就是記憶體映像,它包括 程序控制塊 process contro...
作業系統 程序管理
程序 申請資源和排程資源的基本單位,乙個程序就是乙個程式的乙個執行過程。是乙個動態的概念,在不同的作業系統中,會有不同的程序出現。程式 靜態概念,是指令和資料的集合,可長期儲存。程序與程式對應關係 乙個程式可以對應乙個程序或者多個程序 乙個程序可以對應乙個程式,或者一段程式 程序由程式,資料集合,程...
作業系統 程序管理
1.程序描述 2.程序狀態 2.2 程序狀態變化模型 2.3 程序掛起模型 2.4 程序控制 3.執行緒 4.ipc 5.程序互斥與同步 乙個程式在乙個資料集合上的一次動態執行過程。程式 演算法 資料結構 與程式的區別 併發concurrency 一段時間內有多個程序執行 並行parallelism...