複製鏈接
請複製以下鏈接發送給好友

時間片

鎖定
時間片(timeslice)又稱為“量子(quantum)”或“處理器片(processor slice)”是分時操作系統分配給每個正在運行的進程微觀上的一段CPU時間(在搶佔內核中是:從進程開始運行直到被搶佔的時間)。現代操作系統(如:Windows、LinuxMac OS X等)允許同時運行多個進程 —— 例如,你可以在打開音樂播放器聽音樂的同時用瀏覽器瀏覽網頁並下載文件。事實上,雖然一台計算機通常可能有多個CPU,但是同一個CPU永遠不可能真正地同時運行多個任務。在只考慮一個CPU的情況下,這些進程“看起來像”同時運行的,實則是輪番穿插地運行,由於時間片通常很短(在Linux上為5ms-800ms),用户不會感覺到。
中文名
時間片
外文名
Time Slice
別    名
量子
設置時間
100毫秒
應    用
分時操作系統
釋    義
分時操作系統分配給每個正在運行的進程微觀上的一段CPU時間

時間片簡介

時間片(timeslice)又稱為“量子(quantum)”或“處理器片(processor slice)”是分時操作系統分配給每個正在運行的進程微觀上的一段CPU時間(在搶佔內核中是:從進程開始運行直到被搶佔的時間)。現代操作系統(如:Windows、LinuxMac OS X等)允許同時運行多個進程 —— 例如,你可以在打開音樂播放器聽音樂的同時用瀏覽器瀏覽網頁並下載文件。事實上,雖然一台計算機通常可能有多個CPU,但是同一個CPU永遠不可能真正地同時運行多個任務。在只考慮一個CPU的情況下,這些進程“看起來像”同時運行的,實則是輪番穿插地運行,由於時間片通常很短(在Linux上為5ms-800ms),用户不會感覺到。
時間片由操作系統內核調度程序分配給每個進程。首先,內核會給每個進程分配相等的初始時間片,然後每個進程輪番地執行相應的時間,當所有進程都處於時間片耗盡的狀態時,內核會重新為每個進程計算並分配時間片,如此往復。 [1] 

時間片時間片的分配

通常狀況下,一個系統中所有的進程被分配到的時間片長短並不是相等的,儘管初始時間片基本相等(在Linux系統中,初始時間片也不相等,而是各自父進程的一半),系統通過測量進程處於“睡眠”和“正在運行”狀態的時間長短來計算每個進程的交互性,交互性和每個進程預設的靜態優先級(Nice值)的疊加即是動態優先級,動態優先級按比例縮放就是要分配給那個進程時間片的長短。一般地,為了獲得較快的響應速度,交互性強的進程(即趨向於IO消耗型)被分配到的時間片要長於交互性弱的(趨向於處理器消耗型)進程。 [1] 

時間片參見

  • 搶佔式多任務處理
參考資料
  • 1.    Khanna, S.; Sebree, M.; Zolnovsky, J. "Realtime scheduling in SunOS 5.0". Proceedings of the USENIX Winter Conference, 1992: 375–390.