作業系統 CPU排程

2022-06-10 13:33:13 字數 681 閱讀 5584

控制、協調多個程序對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 排程演算法 ...