控制、協調多個程序對cpu的競爭
即按一定的排程演算法從就緒佇列中選擇乙個程序,把cpu的使用權交給被選中的程序
n個程序就緒,等待上m(m>=1)個cpu執行,需要決策哪個程序分配給哪個cpu執行
排程時機:核心對中斷/異常/系統呼叫處理後返回使用者態時(就緒佇列的改變引發重新排程)
如程序正常終止(退出),程序由於錯誤終止(如abort異常),新程序建立,乙個等待程序變就緒態(喚醒),乙個程序由執行態變為就緒態
或阻塞態(等待或中斷)
排程過程:程序切換,乙個程序讓出cpu,另乙個占用cpu,包括對原程序狀態的儲存和新程序狀態的恢復
舉例:程序a下cpu,程序b上cpu,整個過程包括儲存a的程序的上下文,修改程序a的狀態(更新pcb),程序a移至合適佇列,將b的狀態
設定為執行態,從程序b的pcb中恢復上下文
乙個重要概念:上下文切換開銷
直接開銷包括核心完成切換所用的cpu時間(儲存和恢復暫存器,切換位址空間等)
間接開銷包括快取記憶體,緩衝區快取,tlb失效
吞吐量--每單位時間完成的程序的數目
周轉時間--每個程序從提出請求到執行完成的時間
響應時間--從提出請求到第一次回應的時間
cpu利用率--cpu做有效工作的時間比列
等待時間--每個程序在就緒佇列中等待的時間
作業系統面試 cpu排程
cpu排程是多道程式設計的基礎。本文是對作業系統概念 第七版 第五章 cpu排程的學習總結,不足之處歡迎各位博友提出,共同進步。1 介紹cpu排程常見概念。2 介紹cpu排程演算法以及特點。1 cpu排程決策發生的情況 a 當乙個程序從執行態到等待狀態。i o請求 b 執行狀態到就緒態 中斷 c 等...
作業系統 CPU排程(一)
cpu排程室多道程式作業系統的基礎。通過在程序之間切換cpu,作業系統可以提高計算機的生產效率。接下來會展示多個不同cpu的排程演算法。還要闡述為特定系統選擇演算法的問題。多道程式設計的 目標是在任何時候都有乙個程序在執行,以使cpu使用了最大化。在單處理器系統中,每次允許乙個程序執行 任何其他程序...
作業系統 (八 CPU排程
目錄 1.背景,cpu排程 在程序 執行緒生命週期的什麼時候進行排程?核心執行排程程式的條件 滿足其一即可 cpu排程方式,是否搶占 核心態 使用者態 2 排程原則 2.1 排程策略 2.2 程式執行模型 2.3 比較排程演算法的準則 2.4 吞吐量 vs 延遲 2.5 公平的目標 3 排程演算法 ...