作業系統的程序管理

2021-09-28 12:39:00 字數 1097 閱讀 3897

程序是系統進行資源分配和排程的基本單位

程序控制塊(pcb)用於描述和控制程序執行的通用資料結構。

1.【識別符號】唯一標記程序

2.【狀態】標記程序的狀態

3.【程式計數器】指向下一條指令的位址

4.【記憶體指標】程式**、程序資料

5.【上下文資料】程序執行時處理器儲存的資料

6.【i/o狀態資訊】被程序i/o操作所占用的檔案列表

7.【記賬資訊】使用cpu的時長、時鐘總數和

執行緒(thread)是系統進行執行排程的最小單位

乙個程序(process)可以有多個執行緒(thread),執行緒是程序實際工作的單位

每個執行緒可以執行不同的任務,執行緒共享程序的資源

1.【建立狀態】分配pcb並插入就緒佇列

2.【就緒狀態】當程序被分配了除cpu外所有必要的資源後

3.【執行狀態】程序獲得cpu資源後進入執行狀態

4.【阻塞狀態】因其它裝置未就緒而無法獲得cpu資源時

5.【終止狀態】系統清理並歸還pcb

1.程序面臨的問題

①【生產者-消費者問題】生產者生產資源的同時消費者會消耗資源,因為這兩個行為同步發生,會造成供不應求或供過於求的情況。

②【哲學家進餐問題】5位哲學家和5支筷子,每個人拿起2支筷子才可進餐,若5個人同時拿起一支,則一直需要等待對方。

產生問題的根源:彼此沒有通訊,執行緒互相搶占臨界資源(無法被多個執行緒同時訪問的共享資源)

2.程序同步的原則

①【空閒讓進】資源無占用時允許直接使用

②【忙則等待】資源被占用時讓程序等待

③【有限等待】雖然資源被占用,但約定有限的時間內釋放資源

④【讓權等待】等待時讓出cpu

作業系統 程序管理

程序 申請資源和排程資源的基本單位,乙個程序就是乙個程式的乙個執行過程。是乙個動態的概念,在不同的作業系統中,會有不同的程序出現。程式 靜態概念,是指令和資料的集合,可長期儲存。程序與程式對應關係 乙個程式可以對應乙個程序或者多個程序 乙個程序可以對應乙個程式,或者一段程式 程序由程式,資料集合,程...

作業系統 程序管理

1.程序描述 2.程序狀態 2.2 程序狀態變化模型 2.3 程序掛起模型 2.4 程序控制 3.執行緒 4.ipc 5.程序互斥與同步 乙個程式在乙個資料集合上的一次動態執行過程。程式 演算法 資料結構 與程式的區別 併發concurrency 一段時間內有多個程序執行 並行parallelism...

作業系統 程序管理

當多個作業並處於記憶體中時,同乙個作業中沒有前趨關係的程式段或者不同作業的程式段可以並行執行。程式併發執行的特徵 程式併發導致的不可再現性 由於程式的併發執行,失去了封閉性,其計算結果與併發程式推進的速度有關,從而失去了程式的可再現性,也就是說,程式經過多次執行後,雖然執行時的環境和初始條件相同,但...