程序是具有獨立功能的程式關於某個資料集合上的一次執行活動,是系統進行資源分配和排程的獨立單位
1、程序是程式的一次執行過程,是對cpu的抽象,是正在執行的程式的抽象
2、每個程序具有獨立的位址空間
3、作業系統通過排程將cpu的控制權交給某個程序
又稱程序描述符,程序屬性,是作業系統用於管理控制程序的乙個專門的資料結構,記錄程序的各種屬性
pcb是系統感知程序存在的唯一標誌,程序與pcb是一一對應的
程序表:所有程序的pcb集合
程序描述資訊
程序識別符號pid,唯一,整數,程序名(不唯一),使用者識別符號userid,程序組關係(兄弟父子關係)
程序控制資訊
當前狀態,優先順序,**執行入口,執行統計資訊,程序間同步和通訊,程序佇列指標,程序訊息佇列指標
所擁有的資源和使用情況
虛擬位址空間的狀況,開啟檔案列表
cpu現場資訊
程序不執行時的暫存器值和指向該程序的頁表的指標
執行態(running)
占有cpu,並在cpu上執行
就緒態(ready)
已經具備執行條件,但由於沒有空閒cpu,而暫時不能執行
等待態(waiting/blocked)
或叫阻塞態,封鎖態,睡眠態,因等待某一事件而暫時不能執行
作業系統通常將程序狀態分為多種模型,這裡給出三狀態和五狀態
1、作業系統為每一類程序建立乙個或多個佇列
2、佇列元素為pcb
3、伴隨程序狀態的改變,其pcb從乙個佇列進入另乙個佇列
上圖中,乙個程序建立後經許可(提交)進入就緒佇列,經過排程進入cpu,如果正常處理完畢會釋放,如超時重新進入就緒佇列
如果還有各種等待事件,則進入各類等待事件佇列,當相應的事件發生後再次進入就緒佇列,等待排程進入cpu
六、上下文切換
定義:cpu硬體狀態從乙個程序換到另乙個程序的過程
程序在執行時,其硬體狀態儲存在cpu上的暫存器中(只有一套)
程序不執行時,這些暫存器的值儲存在程序控制塊pcb中,當作業系統要執行乙個新的程序時,需要將這個程序的pcb中的值送到
以上是作業系統關於程序的一些概述,摘自北大陳向群教授的作業系統課程學習
作業系統 程序概念
三 pcb包含哪些資訊 四 程序狀態及狀態轉換 五 程序的特性 六 程序佇列 七 上下文切換 程序是具有獨立功能的程式關於某個資料集合上的一次執行活動,是系統進行資源分配和排程的獨立單位 動態性 獨立性 併發性是程序的三大特性。在程式執行的過程中,它的狀態是在不斷變化的。例如乙個程式在執行過程中,它...
作業系統 程序管理 概念 死鎖
死鎖 死鎖的原因 1 因為系統資源不足。2 程序執行推進的順序不合適,保證有先後順序。3 資源分配不當等。死鎖的必要條件.產生死鎖的四個必要條件 1 互斥條件 乙個資源每次只能被乙個程序使用。2 請求與保持條件 乙個程序因請求資源而阻塞時,對已獲得的資源保持不放。3 不剝奪條件 程序已獲得的資源,在...
作業系統 作業系統的概念
3 作業系統的目標和功能 作業系統用做擴充機器 計算機系統自上而下可區分為 從作業系統的角度 計算機系統的概述 在計算機中的cpu 記憶體 輸入 輸出裝置等硬體,提供了基本的計算機資源 應用程式等規定了按何種方式來使用這些資源來為使用者服務 作業系統控制和協調各使用者程式對硬體的分配和呼叫。所以作業...