计算机操作系统——处理机调度算法
計算機操作系統——處理機調度算法
一、處理機調度的層次和調度算法的目標
1.處理及調度的層次
主要用于:多道批處理系統
2.處理機調度算法目標
處理機調度算法的共同目標
(1)資源利用率 CPU的利用率: (2)公平性:讓所有進程獲得合理的CPU時間,盡量不產生饑餓現象
(3)平衡性
(4)策略強制執行
批處理系統的目標
(1)平均周轉時間短
周轉時間=等待時間+執行時間=完成時刻-到達時刻
平均周轉時間=各進程周轉時間之和/進程的個數
帶權周轉時間=周轉時間/CPU提供服務的時間
(2)系統吞吐量高 吞吐量:單位時間內系統完成的作業數,它與批處理作業的平均長度有關
(3)處理機利用率高
分時系統的目標
(1)響應時間按快
(2)均衡性
實時系統的目標
(1)截止時間的保證
(2)可預測性
二、 非搶占式調度算法
1.先來先服務調度算法(FCFS,First-Come-First-Served)
- 算法規則:按照作業/進程到達的先后順序進行服務
- 優點:公平,實現簡單
- 缺點:帶權周轉時間長,對長作業有利,短作業不利
例題詳解:(解題方式我習慣于用數軸表示,也可以畫表格,但是感覺不如數軸看著形象)
2.短作業優先調度算法(SJF,Short-Job-First)
- 算法規則:最短的進程/作業優先得到服務
- 該算法也有搶占式
- 優點:減少了平均等待時間和平均周轉時間
- 缺點:對短作業有利,長作業不利,容易產生饑餓現象;必須預知作業的運行時間;人——機無法實現交互;未考慮作業的緊迫程度,不能保證緊迫性作業及時得到處理。
例題詳解:
3.高響應比優先調度算法(HRRN,Highest-Response-Ratio-Next)
- 算法規則:每次調度時先計算響應比,選擇響應比最高的進行服務
- 優點:避免了長作業饑餓的問題,集合了SJF和FCFS的優點
響應比大的優先調度(不值得等待的進程優先調度)
響應比越小,等得越值得
例題詳解:
三、搶占式調度算法
進程調度的機制:(1)排隊器(2)分派器(3)上下文切換器
進程調度方式:搶占式、非搶占式
搶占式的剝奪原則:(1)優先權原則 (2)短進程優先原則 (3)時間片原則
1.輪轉調度算法(時間片輪轉)
輪轉調度算法:
(1)基本原理:將所有就緒進程按FCFS排成一個就緒隊列,系統設置每隔一定時間便產生一次中斷,去激活進程調度程序進行調度,把CPU分配給隊首進程,并令其執行下一個時間片…
(2)切換機制:
a.若一個時間片尚未用完,正在運行的進程便已經完成,就立即激活調度程序,將它從就緒隊列中刪除,再調度就緒隊列中隊首的進程進行,并啟動一個新的時間片。
b.在時間片用完時,如果進程尚未運行完成,調度程序將把它送往就緒隊列的末尾。
時間片大小的確定:
(1)時間片太小:增加系統的開銷
(2)時間片太大:時間片輪轉便退化為FCFS算法,無法滿足交互式用戶需求
時間片輪轉調度算法常用于分時操作系統,更注重“響應時間”,因而此處不計算周轉時間
2.優先級調度算法
(分為搶占式和非搶占式)
優先級類型:
(1)靜態優先級
(2)動態優先級
3.多級反饋隊列調度算法
調度機制
- 首先設置多級就緒隊列
每個就緒隊列分配不同的時間片,優先級高的為第一隊列,時間片最小,隨著就緒隊列級別的降低,時間片逐漸增大。 - 每個進程按照先來先服務調度算法
一個進程就緒后進入第一級隊列末尾 - 當有一個優先級更高的進程就緒時,可以搶占CPU,被強占進程回到原來一級的就緒隊列末尾。
- 當第一級別隊列空時,就去調度第二隊列,…以此類推。
- 當時間片結束后,進程放棄CPU,轉入下一級隊列。
多級反饋隊列示意圖:
總結
以上是生活随笔為你收集整理的计算机操作系统——处理机调度算法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算机组成原理——机器字长、指令字长、存
- 下一篇: 操作系统基本特性——并发、共享、虚拟、异