免費開始練習
普通考試 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 專屬家教

💀 教授毒舌批註

  1. 勉強合格。 終於有點看頭了,這道經典的作業系統基本題,你總算沒蠢到家。
  2. 基本功。 在任何一個稍微有點水準的系統中,執行緒的運作絕不是只有表面那麼簡單。你腦子裡應該要自動浮現時間片段(Time Slice)上下文交換(Context Switch)這兩個字眼,這是常識!一個週期是 $10 + 1 = 11$ 毫秒,這是連小學生都會的加法。接下來,$N = \frac{1000}{11} \approx 90.9$。所以,每秒能「真正」完成 $90$ 個執行緒,這不是很理所當然嗎?難道你還指望系統會憑空多出時間給你?
▼ 還有更多解析內容

🏷️ 相關主題

作業系統:程序排程演算法與死結處理、避免策略
查看更多「[資訊處理] 計算機概要」的主題分類考古題