處理器排程的過程就是為待處理的作業或程序分配處理器的過程。
處理器排程的層次:
1. 高階排程
高階排程又叫做巨集觀排程或作業排程,需要作出兩個決定,乙個是要從駐留在外存後備佇列中調入多少個作業,二是調入哪幾個作業;然後為被選中的作業建立程序,並分配必要的系統資源,如記憶體、外設等。最後把新建立的程序放入就緒佇列中,等待被排程執行。高階排程的時間尺度通常是分鐘、小時或天。
2. 中級排程
中級排程主要涉及程序在記憶體和外存之間的交換。當系統中記憶體使用狀況緊張時,中級排程把記憶體中暫時不能執行的程序調到外存中等待,等記憶體有足夠空間時,再由中級排程決定將外存上具備執行條件的就緒程序調入記憶體,把其狀態修改為就緒狀態掛在就緒佇列中,等待程序排程。
3. 低階排程
按照一定的演算法從就緒佇列中選擇乙個程序,並且將處理器分配給它。執行低階排程功能的程式叫做程序排程程式,時間尺度通常是毫秒級。
選擇程序排程演算法的時候需要考慮以下幾項準則:
1. 處理器利用率要高。實際系統中處理器利用率一般在40%到90%。
2. 周轉時間要短。 周轉時間包括作業在外存後備佇列上等待排程的時間,程序在就緒佇列上等待程序呼叫的時間,程序在cpu上執行的時間,以及程序等待i/o操作完成的時間。
作業周轉時間t與系統為其提供服務的時間ts之比,w = t/ts,稱為帶權周轉時間。而平均帶權周轉時間則可表示為:
3. 響應時間要快
響應時間是指從使用者提交乙個請求開始,到系統首次產生響應為止的時間間隔。響應時間的長短通常用來評價分時系統的效能,是選擇程序排程演算法非常重要的準則之一。
4. 保證截止時間。
截止時間是指作業必須開始執行的最遲時間,或者必須完成的最遲時間。
5. 系統吞吐量要高
吞吐量是指要在單位時間內系統所完成的作業數,其與處理的作業長度關係密切。對於大型作業,一般吞吐量是每小時一到作業。對於中小型作業,吞吐量可達到幾十道甚至是上百道。
作業排程:是按照某種排程演算法從後備作業佇列中選擇作業進入記憶體執行。並在作業執行結束後作善後處理。
1.提交狀態:程式設計師把已儲存作業實體的某種介質,如卡片/紙帶/軟盤等,提交給機房後或使用者通過終端鍵盤向計算機鍵入其作業時所處的狀態,叫提交狀態。
2. 後備狀態:系統操作員把載有作業實體的某種介質,放在相應的輸入裝置上,並轉存到計算機系統硬碟的輸入井,等待排程執行的狀態,叫做後備狀態。
3. 執行狀態:硬碟輸入井中處於後備狀態的作業,被作業排程程式排程選中裝入記憶體中投入執行的狀態。
4.完成狀態: 作業正常執行結束或因發生錯誤而終止,釋放其所占有的全部資源,準備離開系統時作業的狀態,叫做完成狀態。
作業排程程式:
1. 選擇作業:按照排程演算法從後備佇列中選擇作業。
2.分配資源: 為選中的作業分配記憶體和外設資源。
3.建立作業程序:為選中的作業建立相應的程序,並設定成就緒狀態,將其pcb排在就緒狀態程序佇列上。
4.建立有關**
5.作業善後處理
OS 處理器排程演算法
1.評價指標 2.排程演算法 2.2短作業優先 短程序優先 spn 選擇就緒佇列中執行時間最短的程序占用cpu執行 2.3最高響應比優先 hrrn 選擇就緒佇列中響應比最高的程序占用cpu執行 響應比 等待時間 執行時間 執行時間 在短程序優先的基礎上改進的 2.4時間片輪轉演算法 rr 主要適用於...
處理器排程
1 cpu排程的相關概念 a.cpu排程 其任務是控制 協調程序對cpu的競爭 即按一定的排程演算法從就緒佇列中選擇乙個程序,把cpu的使用權交給被選中的程序 如果沒有就緒程序,系統會安排乙個系統空閒程序或idle程序 b.cpu要解決的三個問題 cpu排程的時機 就緒佇列的改變引發了重新排程 事件...
處理器排程
處理器排程演算法設計從以下幾個方面著手 資源利用率 吞吐率 公平性 響應時間 周轉時間 截止時間的保證 優先權原則等等。cpu利用率 cpu有效工作時間 cpu總的執行時間 cpu總執行時間 cpu有效工作時間 cpu空閒等待時間 吞吐率 單位時間內cpu處理的作業數 公平性 確保程序不會出現餓死現...