2.2 處理機調度(1)

2.2.1 調度

一. 概念

從就緒隊列中按照一定的算法選擇一個進程,並給他分配處理機,從而實現進程的併發執行。

二. 調度的三個層次

一個作業的提交開始直到完成需要經歷三種調度。

  1. 高級調度(作業調度):按照一定原則,從外存中挑選作業,給他們分配內存等資源,並建立相應進程。
  2. 中級調度(內存調度):將暫時不能運行的進程調至外存等待,即掛起態(稍後講解),此時進程在外存,但是該進程的PCB在內存。
    作用:提高內存利用率和系統吞吐量。
  3. 低級調度(進程調度):按照某種方法從就緒隊列中選取一個進程,將CPU分配給它。進程調度是操作系統最基本的一種調度
三. 三級調度的區別與聯繫
調度 幹什麼 位置 頻率 狀態
高級調度 選擇合適作業調入內存,創建進程 外存 – 內存 最低 無 – 創建態 – 就緒態
高級調度 按某種規則,將進程調回內存 外存 – 內存 中等 掛起態 – 就緒態
高級調度 按照某種規則爲進程分配CPU 內存 – CPU 最高 就緒態 – 運行態
四. 七狀態模型
  • 之前我們學了五狀態,分別是:創建態,終止態,阻塞態,運行態和就緒態。
  • 但是在自主命題的研究生考試中,還有掛起態,它分爲就緒掛起和阻塞掛起。
  • 若系統負載高,則會進入掛起狀態,掛起則表示進程放到了外存。
    在這裏插入圖片描述
五. 進程的調度與切換
  1. 應該進行進程的調度和切換:
    (1)主動放棄
    (2)被動放棄(中斷或者陷入時)
  2. 不應進程調度與切換
    (1)在處理中斷時
    (2)進程在操作系統內核程序臨界區時
    (3)進行原子操作時

切換過程要求保留原進程當前切換點的現場信息,恢復被調度進程的現場信息。
進程調度的切換都是有代價的,經常切換不好。

六. 進程的調度方式(兩種)
  1. 非搶佔式方式
    實現簡單,系統開銷小,但是無法執行緊急進程。
  2. 搶佔式方式
    提高系統吞吐量和響應效率。

我們下一節講,調度的評價指標 和 經典調度算法

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章