題組內容
五、一般用途計算機中的記憶體系統通常設計為階層式的。假設最高的階層連接中央處
理器,而最低的階層連接輸出入。以目前一般個人電腦的設計而言:
⑷在那些階層中發生錯失時,系統在錯失處理結束前會做程序切換(context switch)?並說明原因。(5 分)
詳解 (共 1 筆)
詳解
在多層次記憶體系統中,當某些層次發生錯失(miss)時,系統在錯失處理結束前可能會進行程序切換(context switch)。這主要發生在以下情況:
1. 主記憶體(Main Memory)
-
缺頁錯誤(Page Fault):當程序訪問的頁不在主記憶體中時,會發生缺頁錯誤。操作系統需要從磁碟(如SSD或HDD)中將頁載入到主記憶體中,這是一個相對較長的過程。
- 原因:缺頁錯誤處理涉及從慢速存儲設備讀取數據,這需要相對較長的時間。為了提高CPU利用率,操作系統會將當前進程置於等待狀態,並進行程序切換,使其他進程能夠在這段時間內繼續運行。這樣可以避免CPU空閒,提升整體系統性能。
2. 次級存儲設備(Secondary Storage)
-
I/O操作:當程序執行涉及大量數據讀寫的I/O操作時,例如從磁碟讀取或寫入數據,這些操作通常需要較長時間才能完成。
- 原因:I/O操作涉及硬體設備的物理讀寫,速度遠低於內存存取速度。操作系統會將執行I/O操作的進程置於等待隊列中,並切換到其他可運行的進程,從而有效利用CPU時間,提升系統吞吐量。