1. 程式人生 > >第二章 程序管理

第二章 程序管理

1.程式順序執行時的特徵 (1) 順序性 處理機的操作嚴格按程式規定順序執行 (2) 封閉性 程式一旦開始執行,其計算結果不受外界因素影響。 (3) 可再現性 程式執行只要初始條件一樣,不論如何停頓,重複執行多少次結果都一樣。 2. 沒有任何干預下,會出現結果不可再現的併發,即錯誤的併發。 兩程式對N的使用是互相影響的,沒有封閉性。 執行中對N的修改都會影響對方結果,結果不可再現。 3.程序的定義 程序就是用於描述、控制程式在記憶體中併發執行的一個東西。 程序是程序實體的執行過程,是系統進行資源分配和排程的一個獨立單位。 4.程序的特徵 結構性特徵,程序的根本——PCB 1)動態性 程序實質上是程序實體的一次有生命期的執行過程。程式只是靜態的一組有序指令。 程序最基本特徵 2)併發性 多個程序實體同存於記憶體中,在一段時間內同時執行。 有PCB的程式才能併發。 3)獨立性 4)非同步性 5.區別程序與程式

1)動與靜: 程序是動態的,程式是靜態的:程式是有序程式碼的集合;程序是程式的執行。 2)永久與暫時: 程序是暫時的,程式是永久的:程序是一個狀態變化的過程,程式可長久儲存。 3)結構: 程序的組成包括程式、資料和程序控制塊(程序各種控制資訊)。 4)程序與程式的對應關係: 都可1對n。通過多次執行,一個程式可對應多個程序;通過呼叫關係,一個程序可包括多個程式。 6.程序的基本狀態 程序執行時的間斷性,決定了其具有多種狀態。把握各程序所屬的狀態對程序控制至關重要。與程序執行相關的各種共享資源有: CPU 儲存器 I/O裝置 時間片 程序的三個基本狀態 (1)就緒狀態(Ready) 程序獲得除CPU之外的所有必需資源,一旦得到CPU控制權,可立即執行。 (2)執行狀態(Running) 程序已獲得所有執行必需的資源,正在處理機上執行。 (3)阻塞狀態(Blocked) 正在執行的程序由於發生某事件(請求I/O、申請緩衝、時間片到)而暫時無法執行時,便放棄CPU後暫停 7.程序三基態的轉化 在這裡插入圖片描述
8.程序塊的定義 存放程序的管理和控制資訊的資料結構稱為程序控制塊。 9. 連結指標(PCB的組織) 本PCB所在佇列的下一個程序PCB首地址。 10.PCB資訊的存放 系統執行中有若干個程式的PCB,它們常駐記憶體的PCB區。 採用的資料結構:PCB結構體,PCB連結串列或佇列 11.PCB的組織方式 連結方式 同一狀態的PCB,依靠連結指標連結成佇列。就緒佇列;若干個阻塞佇列;空白佇列(PCB區的空PCB塊) 索引方式 同狀態的PCB同樣集中記錄,但以索引表的方式記錄PCB的地址。用專門的單元記錄各索引表的首地址。