1. 程式人生 > >作業系統(3)---處理機排程與死鎖(未完成)

作業系統(3)---處理機排程與死鎖(未完成)

導讀

1.cpu排程
(1)處理機排程的層次
(2)排程的幾種情況分類
(3)排程演算法的幾個指標
(4)作業與作業排程
(5)FCFS先來先服務排程演算法和SJF短作業優先演算法

cpu排程

排程的概念:就是OS選擇接下來去做什麼
分配的概念:排程之後真正把資源拿出來用的過

cpu- I/O Burst Cycle

在這裡插入圖片描述

前者是主要耗用cpu,後者主要耗用IO

處理機排程的層次

(1)高階排程(長程排程,作業排程)
物件為作業,根據演算法,決定將外存上處於後備佇列中的哪幾個作業調入記憶體。
主要用於多道批處理系統,分時和實時系統中沒有
(2)低階排程(短程排程,程序排程)
物件為程序,根據演算法,決定就緒佇列哪幾個程序獲得處理機
多道批,分時,實時三種OS中都有
(3)中級排程(記憶體排程)
為提高記憶體利用率和系統吞吐量,把暫時不能執行的程序調到外存等待,此時程序為掛起狀態。

排程的幾種情況分類

(1)非搶佔式排程–自願交出使用權

在這裡插入圖片描述

在這裡插入圖片描述

(2)搶佔式排程—被迫交出使用權

在這裡插入圖片描述

在這裡插入圖片描述

排程演算法的幾個指標

針對整個系統:
在這裡插入圖片描述

在這裡插入圖片描述

針對單個程序:

在這裡插入圖片描述

在這裡插入圖片描述

在這裡插入圖片描述

作業與作業排程

作業:不僅包含通常的程式和資料,還有一份作業說明書來指導作業的完成
作業步:作業的每一個加工步驟,通常上一步的輸出是下一步的輸入
作業控制塊(JBC):在多道批處理系統,為每個作業建立一個塊

作業執行的三個階段和三種狀態:
收容階段–後備狀態:為作業建立JCB,並加入後備佇列
執行階段–執行狀態:作業第一次就緒態到它執行結束
完成階段–完成狀態:作業執行結束或發生異常而結束

FCFS先來先服務排程演算法和SJF短作業優先演算法

在這裡插入圖片描述