免費試讀課程單元 · 臺大資工所考古題複習

設計安全

安全關鍵系統最在意的是平均效能,還是最壞情況?

Wondering 課程《臺大資工所考古題複習》的第 1 個課程單元

情境決定設計目標

安全關鍵系統最在意平均效能,還是最壞情況?先猜一下,再往下讀。

現代作業系統常為特定情境設計,例如手機、AI 伺服器,以及安全關鍵系統(如航電、車輛、醫療器材)。

情境不同,好系統的標準也不同。手機重視能源效率;AI 伺服器重視有效率的 GPU 管理與高記憶體頻寬。

不同情境,不同設計重點
  • 作業系統設計
  • 手機
  • 能源效率: 電池有限,省電是核心目標。
  • AI 伺服器
  • GPU 管理: 有效率地管理 GPU。
  • 記憶體頻寬: 需要高記憶體頻寬。
  • 安全關鍵系統
  • 最壞情況效能: 比平均效能更重要。
  • 確定性排程: 行為必須可預測。

解這類題目時,先問一句:這個系統最怕哪一種失敗?

最壞情況比平均重要

答案揭曉:安全關鍵系統更在意最壞情況效能。

一般系統可以接受偶爾變慢,換取平均更快。但煞車或航電只要有一次錯過期限,就可能出事,平均再快也救不回那一次。

你該優化哪一種?
  • 平均效能導向
  • 最壞情況導向

所以這類系統偏好確定性、可預測的排程。說它「通常偏好非確定性排程」是錯的。

記法:安全關鍵系統要的是可預測,不是平均快。

兩道隔離防線

第一道是使用者/核心模式分離:使用者程式不能直接存取硬體資源,要透過系統呼叫請核心代辦。

第二道是位址空間隔離:每個程序有自己的位址空間,防止其他程序未經授權存取它的記憶體。

使用者模式、核心模式與位址空間隔離示意

注意兩個程序各自被框在獨立記憶體區,且都只能經過核心才碰得到硬體,這就是兩道防線分別擋住的路徑。

補充:你在作業系統學過的分頁表,就是實現這種隔離的常見工具。

這兩個敘述在考題中都是正確的。

MAC:使用者不能自己改

常見陷阱選項:「強制存取控制(MAC)讓使用者自由修改自己檔案的權限」。這是錯的。

在 MAC 下,權限由系統層級的政策決定,連檔案擁有者也不能自行更改。

補充知識(不在原題中):讓擁有者自由改權限的是自主存取控制(DAC),例如 Unix 的 chmod。

誰能改檔案權限?
  • 使用者想改權限
  • 哪種存取控制?
  • 依系統政策: 擁有者也不能自行更改。
  • 擁有者可改: 例如 Unix 的 chmod。
  • 修改被拒
  • 修改成功

看到「使用者自由修改」,就該想到 DAC,不是 MAC。

沙箱:一開始就上鎖

沙箱會對程序加上一組無法移除的限制。

關鍵在時機:限制在程序開始執行時就套用,不是等 main() 執行之後才套用。

補充說明:在常見實作中,main() 之前還有載入與初始化程式碼在跑。若等到 main() 才上鎖,這段時間就沒有保護。

沙箱限制何時生效
  • 程序啟動: 程序開始執行。
  • 套用限制: 沙箱限制立刻生效,且無法移除。
  • 初始化程式碼: main() 之前的載入與初始化已受限制保護。
  • 進入 main(): main() 執行時限制早已存在,不是此時才加上。

所以選項 D 錯在時機。

靜態加密與總整理

最後一個正確敘述:靜態資料加密能幫助保護使用者隱私。

靜態資料指存在磁碟等儲存裝置上的資料。裝置就算遺失,沒有金鑰也讀不到內容。

Q4 選項對錯一覽

回到 四份考題_合併.pdf 中的 Q4:A、B、E 正確,C、D 錯。

做題口訣:先看機制保護什麼,再檢查「誰有權限」與「何時生效」。

自我檢測

航空電子、車用控制等安全關鍵系統通常偏好採用 _____ 的排程方式

  • 確定性、可預測
  • 非確定性、隨機化

答案: 確定性、可預測

安全關鍵系統必須保證每個任務在截止時間內完成,因此需要可預測、確定性的排程,才能事先分析並證明時間行為。非確定性排程會讓執行時間難以預測,不適合此類系統。

不同情境的作業系統有不同設計重點:靠電池運作的手機重視_____;執行大量深度學習運算的 AI 伺服器重視_____;控制煞車的車用系統則重視_____。

答案: 不同情境的作業系統有不同設計重點:靠電池運作的手機重視能源效率;執行大量深度學習運算的 AI 伺服器重視GPU 管理;控制煞車的車用系統則重視最壞情況效能。

手機受限於電池,故重視能源效率;AI 伺服器的運算核心在 GPU,需有效管理 GPU(以及高記憶體頻寬);安全關鍵系統(如車用煞車)必須保證最差狀況也能準時反應,所以看重最壞情況效能而非平均效能。

設計醫療用心律調節器的作業系統時,下列哪一種取捨最恰當?

  • 降低最壞情況延遲,即使平均效能稍差
  • 提升平均效能,即使偶爾延遲很長
  • 提高整體吞吐量,即使回應時間不固定
  • 採用隨機排程,以求平均負載均衡

答案: 降低最壞情況延遲,即使平均效能稍差

安全關鍵系統的首要目標是保證最差情況下仍能準時完成。即使平均效能較低,只要最壞情況延遲有上界即可接受。只提升平均效能、讓偶發延遲變長,或犧牲時間保證換取吞吐量,都可能在關鍵時刻失敗。

繼續學習

這是《臺大資工所考古題複習》共 48 個課程單元中的第 1 個。接下來:

  1. 行程執行緒
  2. 一般排程
  3. 即時排程
  4. 雙佇列排程
  5. 臨界區段

免費開始這門課程

Wondering 把任何主題變成可以閱讀、觀看或收聽的短課程單元,並附有練習題和 AI 家教。