2010-11-04 40 views
1

我知道這取決於操作系統,但在現代操作系統中,給予相同優先級的線程/進程的時間片是相等的,還是存在其他因素?給同優先級進程的時間片是否相等?

+1

這不是一個編程問題,可能適合超級用戶。 – 2010-11-04 20:53:00

回答

2

如果線程正在執行I/O,等待同步機制或要進入睡眠狀態,那麼它們可以使用少於(甚至更多)的時間片來執行直接計算。操作系統儘量使線程/進程優先級相同的線程具有相同的量程,但實際上給定的實際時間可能會有所不同。

例如,實際上花費在等待出口事件的整個(牆)時間睡眠的線程將平均(在其總運行中)給予更少的時間,而不是正在進行計算的同等優先級中的一個相同數量的(牆)時間。

0

Linux針對同等優先級進程,搶先調度程序
運行等待時間最長的進程。

Windows它在每個優先級和線程
可以切換優先級隊列FIFO隊列:

- 如果線程中斷,因爲時間片後,優先級降低
- 如果中斷等待I/O事件,優先級提高
- 傾向於CPU綁定線程的I/O綁定
- 對於I/O綁定的線程,優先級比其他I/O(例如鍵盤,顯示器)等待更多(例如鍵盤,顯示器)。磁盤)

相關問題