冷月手撕408之作業系統 8 處理機排程

2021-10-09 15:23:27 字數 1061 閱讀 4765

作業系統的處理器資源主要是介紹了,由於多道程式設計帶來的併發性,記憶體中執行多個程序併發執行。而處理器資源是遠遠小於程序的數量的,所以如何排程處理器給合適的程序成為了os的焦點。

處理器排程就是按照某種合適的演算法選擇乙個程序將處理器資源分配給它。

排程層次分為高階排程、中級排程、低階排程。

高階排程就是作業排程,在外存的後備佇列中選取合適的作業將記憶體資源、io資源分配給它,並將它調入記憶體,為其建立程序。排程頻率最低;由外存調往記憶體。

中級排程就是記憶體排程,在外存的掛起佇列中選擇合適的程序將其調回記憶體。頻率中等;由外存調往記憶體。

低階排程就是程序排程,從就緒佇列中選取乙個合適的程序將處理器資源分配給它。頻率高;由記憶體調往cpu。

評價標準

系統吞吐量,單位時間內完成作業的道數

周轉時間,程序執行結束時間 - 程序提交時間

帶權周轉時間,周轉時間 / 執行時間

等待時間,程序在執行中所等待的時間和

響應時間,提交時間到初次相應的時間

程序排程方式

非搶占方式 程序獲得處理器後,只有當它執行完畢或者主動放棄才讓出處理器資源

可搶占方式 優先順序高的程序到來時,立刻搶占處理器資源

經典排程演算法

先來先服務fcfs 程序根據先來後到依次獲得處理器資源 公平,實現簡單,但不利於短作業;不會導致飢餓

短作業優先sjf 程序根據執行時間由低到高獲得處理器資源 對長作業不利;如果有源源不斷的短作業到來會導致長作業飢餓

優先順序排程演算法 根據程序的優先順序從高到低獲得處理器資源 分類 靜態優先數 動態優先數

高響應比排程演算法 根據響應比從高到低獲得處理器資源 (執行時間 + 等待時間) / 執行時間 即克服飢餓,又兼顧長作業

時間片輪轉排程演算法 將處理器資源分為等長的時間片,根據fcfs依次分配給程序 絕對可搶占演算法

多級反饋佇列演算法 優先數 + 時間片 的改良

如果這篇博文有幫助到您,可以幫冷月點乙個贊或者加乙個關注哦!

冷月手撕408之作業系統 11 死鎖

作業系統的死鎖 主要是介紹了 程序直接發生的特殊情況,記憶體中每個程序互相等待對方手裡的資源,導致各個程序都阻塞,無法向前推進,導致死鎖。死鎖定義 記憶體中每個程序互相等待對方手裡的資源,導致各個程序都阻塞,無法向前推進 產生條件 系統資源的不恰當分配 程序推進順序非法 產生死鎖的四個必要條件 互斥...

冷月手撕408之作業系統 6 執行緒概述

作業系統的執行緒概述主要是介紹了執行緒的概念,執行緒和程序的區別,重點掌握執行緒和程序資源分配 排程方面的區別。執行緒又叫 輕量級的程序 是乙個基本的cpu執行單元。在引入執行緒後,程序是資源分配的基本單位,執行緒是排程的最小單位 並且增加了併發性,執行緒之間也可以併發,提公升了併發度。而執行緒幾乎...

冷月手撕408之作業系統 1 導學

在408中,其中資料結構和組成原理各佔45分,作業系統佔35分,計算機網路佔25分。作業系統的知識點非常的多,但是每一章都具有極其強烈的關聯性。很多人朋友都喜歡直接去背知識點。但是冷月認為,背很有侷限性。只有融合貫通了,才能以不變應萬變。其實,408的4門科目都非常的有關聯性。科目與科目之間非常有關...