第3講:程序排程

7hu95b發表於2024-06-10

分為兩類:

  • 搶佔式多工
  • 非搶佔式多工

程序可分為:IO消耗型、CPU消耗型。

排程方式

(1)優先順序排程

  • nice值(-20~19):值越大、優先順序越低。

nice 值對映到時間片問題:(1)絕對時間片無法保證最優解;(2)nice值越靠近邊界、波動越大;(3)定時器節拍問題

  • 實時優先順序。

(2)時間片

  • CFS排程分配的是處理器使用比例、而非時間片。

Linux

程序切換大致由這幾步組成:

  • 程序的排程是由核心管理的,因此首先會進行使用者態到核心態的切換。
  • 儲存被中斷程序的上下文。
  • 修改被中斷程序的狀態資訊,並加入到相應的狀態佇列。
  • 排程一個新的程序,載入其上下文。

相關文章