一、概念
1、處理機管理是作業系統的主要功能之一。處理機管理的實現策略決定了作業系統的型別,其演算法好壞直接影響整個系統的效能
2、程序排程:通過某種規則或演算法從就緒(等待)程序佇列中選出乙個程序投入執行
3、排程是乙個基本的作業系統功能。cpu排程是作業系統設計的核心問題
二、cpu排程程式
1、任務
cpu排程程式負責在cpu上切換程序。
當正執行的程序應該從cpu上移除時(改為等待或阻塞狀態),從處於等待狀態的多程序中選擇乙個不同的程序。cpu被分配給被選擇的程序,新程序從就緒改為執行。
2、排程策略
確定程序何時從cpu移除並且應當接著將cpu分配給某個等待程序
發生排程策略的四種情況:
(1)、當乙個程序從執行切換到阻塞,非搶占
(2)、當乙個程序從執行切換到就緒,可搶占
(3)、當乙個程序從阻塞切換到就緒,可搶占
(4)、當乙個程序終止,非搶可佔
非搶占排程方案:一旦cpu被分配給乙個程序,該程序就將被執行到底,一直將cpu使用到程序結束或切換到等待狀態再釋放
可搶占排程方案:允許排程程式根據某種策略終止當前執行程序的執行,並將其移入就緒佇列,並選擇另外乙個程序投入執行
3、主要模組
排隊程式、分配程式、上下文切換程式
(1)、排隊程式
當乙個程序改變到阻塞狀態時,更新程序描述符並且排隊程式通過指標關聯程序描述符,該程序進入阻塞列表
(2)、分配程式
將cpu的控制交給由短期排程程式選擇的程序
功能模組:
①、切換上下文
②、切換到使用者模式
③、跳轉到使用者程式的合適位置以重新啟動使用者這個程式
(3)、上下文切換程式
儲存從cpu移除程序的所有處理器暫存器(pc、ir、條件狀態、處理器狀態、alu狀態)的內容到程序的pcb中
4、效能
排程程式對於多道程式計算機的效能有很大的影響,因為其完全控制乙個程序何時能分配到cpu
三、排程準則
1、影響排程演算法的主要因素
(1)、設計目標
(2)、公平性
(3)、均衡性
(4)、綜合平衡
(5)、基於相對優先順序
2、排程效能評價
(1)、cpu使用率
(2)、吞吐量
(3)、周轉時間
(4)、就緒等待時間
(5)、相應時間
四、排程策略
程序排程演算法(程序排程策略)
程序排程演算法 排程演算法是指 根據系統的資源分配策略所規定的資源分配演算法。一 先來先服務和短作業 程序 優先排程演算法 1.先來先服務排程演算法。先來先服務 fcfs 排程演算法是一種最簡單的排程演算法,該演算法既可用於作業排程,也可用於程序排程。fcfs演算法比較有利於長作業 程序 而不利於短...
程序排程三 程序排程介紹
一 程序排程介紹 1 程序排程的產生 程序從使用資源方面可以分為如下兩類,不管是i o還是cpu受限類的程序,cpu都希望再盡可能短的時間 完成更多的工作,但另一方面,又希望盡可能的減少資源 i o或cpu 的消耗,這兩則之間存在矛盾,所以程序 的排程管理就是來協調兩者之間的衝突。型別別稱 描述示例...
Linux程序管理與排程
核心版本 架構作者 github csdn 2016 07 21 linux 4.6 x86 arm gatieme linuxdevicedrivers linux程序管理與排程 專案描述 kernelinkernel 乙個執行在linux上的小巧核心,修改了linux kernel的start ...