版權歸原作者所有,如有侵權,請聯(lián)系我們

[科普中國]-時間片

科學百科
原創(chuàng)
科學百科為用戶提供權威科普內容,打造知識科普陣地
收藏

時間片(timeslice)又稱為“量子(quantum)”或“處理器片(processor slice)”是分時操作系統(tǒng)分配給每個正在運行的進程微觀上的一段CPU時間(在搶占內核中是:從進程開始運行直到被搶占的時間)?,F(xiàn)代操作系統(tǒng)(如:Windows、Linux、Mac OS X等)允許同時運行多個進程 —— 例如,你可以在打開音樂播放器聽音樂的同時用瀏覽器瀏覽網(wǎng)頁并下載文件。事實上,由于一臺計算機通常只有一個CPU,所以永遠不可能真正地同時運行多個任務。這些進程“看起來像”同時運行的,實則是輪番穿插地運行,由于時間片通常很短(在Linux上為5ms-800ms),用戶不會感覺到。

簡介時間片(timeslice)又稱為“量子(quantum)”或“處理器片(processor slice)”是分時操作系統(tǒng)分配給每個正在運行的進程微觀上的一段CPU時間(在搶占內核中是:從進程開始運行直到被搶占的時間)?,F(xiàn)代操作系統(tǒng)(如:Windows、Linux、Mac OS X等)允許同時運行多個進程 —— 例如,你可以在打開音樂播放器聽音樂的同時用瀏覽器瀏覽網(wǎng)頁并下載文件。事實上,由于一臺計算機通常只有一個CPU,所以永遠不可能真正地同時運行多個任務。這些進程“看起來像”同時運行的,實則是輪番穿插地運行,由于時間片通常很短(在Linux上為5ms-800ms),用戶不會感覺到。

時間片由操作系統(tǒng)內核的調度程序分配給每個進程。首先,內核會給每個進程分配相等的初始時間片,然后每個進程輪番地執(zhí)行相應的時間,當所有進程都處于時間片耗盡的狀態(tài)時,內核會重新為每個進程計算并分配時間片,如此往復。1

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

參見搶占式多任務處理

本詞條內容貢獻者為:

吳晨濤 - 副研究員 - 上海交通大學