都2020年,還不趕快把調度學會啊!!!

嘿嘿

最近清明節纔回到家裏,四五天沒有學習了罪過罪過,這不落後了別人一大截,趕緊邁開我的小步伐學習學習,今天一篇博客大家就把調度學通透了,記住沒給我學!!!在這裏插入圖片描述


目錄

調度的概念:

大白話說就是,多道程序中,進程數量多餘處理機個數,爲了解決進程搶着用處理機,調度來進行分配處理機。
操作系統主要管理處理機、內存、文件、設備集中資源,只要資源的請求大於資源本身數量,就會涉及調度

調度的層次:

1)作業調度:(高級調度)選擇處於後備狀態的作業分配資源,發生頻率最低。就是內存輔存之間的調度,每個作業只能調出一次,調入一次。
2)內存調度:(中級調度)選擇暫時不能運行的進程調出內存,發生頻率中等提高內存的利用率和系統的吞吐量
3)進程調度:(低級調度)選擇就緒隊列中合適的進程分配處理機,發生頻率最高操作系統最基本的一種調度,進程調度頻率高,一般幾十毫秒一次

處理機三級調度

在這裏插入圖片描述

三級調度之間的聯繫

1)作業調度爲進程活動做準備,進程調度使進程正常活動起來,中級調度將暫時不能運行的進程掛起,中級調度處於作業調度和進程調度之間
2)作業調度次數少,中級調度次數略多,進程調度頻率最高
3)進程調度是最基本的,不可或缺

進程調度的原因:合理處理計算機軟件硬件資源

進程調度方式
剝奪式:有更爲重要或緊迫的進程需要使用處理機,立即分配
非剝奪式:有更爲重要或緊迫的進程需要使用處理機,仍讓當前進程繼續執行

調度的基本準則

1)CPU利用率:使CPU保持忙的狀態,使這一資源利用率最高
2)系統吞吐量:表示單位時間內CPU完成作業的數量
3) 週轉時間:指作業提交到作業完成所經歷的時間是作業等待、在就緒隊列中排隊、在處理機運行及進行輸入/輸出操作所花費時間總和

週轉時間=作業完成時間-作業提交時間
平均週轉時間=(作業1的週轉時間+…+作業n的週轉時間)/n
帶權週轉時間=作業週轉時間/作業實際運行時間
平均帶權週轉時間=(作業1的帶權週轉時間+…+作業n的帶權週轉時間)/n
4) 等待時間:進程處於等處理機狀態的時間之和,等待時間越長,用戶滿意度越低。:
5) 響應時間:指從用戶提交請求到系統首次產生響應所用的時間週轉時間作爲衡量調度算法的重要準則之一

典型的調度算法

1)先來先服務(FCFS)調度算法
靜態優先級實在創建進程時確定的,確定之後再整個運行期間不再改變
用於:作業調度、進程調度
規則:
作業調度:算法每次從後備作業隊列中選擇最先進入該隊列的一個或幾個作業,將他調入內存,分配必要資源,創建進程並放入就緒隊列
進程調度:每次從就緒隊列中選擇最先進入該隊列的進程,將處理機分配給他,投入運行,直到完成或因某種原因而阻塞時釋放處理機
特點:
算法簡單,效率低,對長作業有利,有利於CPU繁忙型作業,不利於I/O繁忙作業型
例題

在這裏插入圖片描述
2)短作業優先(SJF)調度算法
(SJF)定義:從後備隊列中選擇一個或若干估計運行時間最短的作業,將他們調入內存運行
段進程優先(SPF)調度算法:就緒隊列中選擇一個估計運行時間最短的作業,將處理機分配給他,讓他執行,直到完成或發生某事件而阻塞時,才釋放處理機
在這裏插入圖片描述
3)優先級調度算法
用於:作業調度,進程調度
優先級用於描述作業的緊迫程度
作業調度:優先級調度算法每次從後備作業隊列中選擇優先級最高的一個或幾個作業,將他們調入內存,分配必要的資源,創建進程並放入就緒隊列。
進程調度:優先級調度算法每次從就緒隊列中選擇優先級最高的進程,將處理機分配給他,使之投入運行
進程優先級設置原則:
1)系統進程>用戶進程。系統進程作爲系統的管理者,理應擁有更高的優先級。
2)交互型進程>非交互型進程(或前臺進程>後臺進程)。大家平時在使用手機時,在前臺運行的正在和你交互的進程應該更快速地響應你,因此自然需要被優先處理,即要有更高的優先級。
3)I/O型進程>計算型進程。所謂I/O型進程,是指那些會頻繁使用IO設備的進程,而計算型進程是那些頻繁使用CPU的進程(很少使用IO設備) 。我們知道, I/O設備(如打印機) 的處理速度要比CPU慢得多, 因此若將IO型進程的優先級設置得更高, 就更有可能讓IO設備儘早開始工作,進而提升系統的整體效率。

4)高響應比有線調度算法
用於:作業調度
響應比=(等待時間+要求服務時間)/要求服務時間
例題:
在這裏插入圖片描述

5)時間片輪轉調度算法
用於:分時系統.
原則:系統將所有就緒進程按到達時間打先後排成一個隊列,進程調度程序總是 選擇就緒隊列中的第一個進程執行但只能運行一個時間片,如100ms
在使用完一個時間片後,即使進程並未完成其運行,他也必須釋放處理機給下一個就緒的進程,未完成的進程返回到就緒隊列的末尾重新排隊,等候再次執行。是絕對可搶佔的
時間片長短因素:系統的響應時間,就緒隊列中的進程數目,系統的處理能力
目的:多個用戶能及時干預系統

6)多級反饋隊列調度算法
時間片輪轉調度算法和優先級調度算法的綜合發展
在這裏插入圖片描述
作業是用戶提交的,以用戶任務爲單位,進程時由系統自動生成的,以操作系統控制爲單位

調度學會了嗎?…………在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章