普通考試
108年
[資訊處理] 計算機概要
第 33 題
在一個單 CPU 的分時多工作業系統下,時間片斷(time slice)是設成 10 毫秒(milliseconds)。假設上下文交換(context switch)需時 1 毫秒,而且所有的執行緒都是純粹進行計算,沒有任何的 I/O 或共享資源的衝突,那麼該系統每秒最多可以執行多少個執行緒?
- A 105
- B 100
- C 95
- D 90
思路引導 VIP
請你想想看,CPU 在執行完一個執行緒並準備換下一個執行緒上場時,除了該執行緒『純計算』的時間外,系統還必須花費什麼額外的『準備時間』?如果把這兩者加起來視為一個完整週期,那麼一秒鐘(也就是 1000 毫秒)最多可以除以幾個這樣的完整週期呢?
🤖
AI 詳解
AI 專屬家教
💀 教授毒舌批註
- 勉強合格。 終於有點看頭了,這道經典的作業系統基本題,你總算沒蠢到家。
- 基本功。 在任何一個稍微有點水準的系統中,執行緒的運作絕不是只有表面那麼簡單。你腦子裡應該要自動浮現時間片段(Time Slice)和上下文交換(Context Switch)這兩個字眼,這是常識!一個週期是 $10 + 1 = 11$ 毫秒,這是連小學生都會的加法。接下來,$N = \frac{1000}{11} \approx 90.9$。所以,每秒能「真正」完成 $90$ 個執行緒,這不是很理所當然嗎?難道你還指望系統會憑空多出時間給你?
▼ 還有更多解析內容