-保護環(來源:維基百科)
保護環:指令特權級別和操作系統模式(Protection Rings: Instruction Privilege Levels and OS modes)
大多數現代操作系統以兩種模式運行程序:內核模式和用戶模式。內核模式通常運行在特權級別 0,而用戶模式運行在特權級別 3。保護環傳達了操作系統如何利用指令集的 CPU 特權級別的想法。
x86指令集中的特權級別控制當前在處理器上運行的程序對內存區域、I/O 端口和特殊指令等資源的訪問。有 4 個特權級別,從 0 是最高特權,到 3 是最低特權。大多數現代操作系統對內核/執行程序使用級別 0,對應用程序使用級別 3。任何可用於級別 n 的資源也可用於級別 0 到 n,因此權限級別是環。當較低特權的進程嘗試訪問較高特權的進程時,會向操作系統報告一般保護錯誤異常。
資料來源:維基百科
異常處理(Exception Handling)
-異常處理(來源:https : //minnie.tuhs.org/)
操作系統 (OS) 內核通常處理來自進程的系統調用、來自 CPU 的異常以及來自外圍設備的中斷。在用戶模式下運行的應用程序或進程可能會遇到錯誤或故障,導致在內核模式下運行的操作系統內核捕獲到 CPU 級別的異常。如果發生故障,操作系統內核將拋出異常或向應用程序發送信號。以下屏幕截圖是演示應用程序正確處理異常的代碼片段。但是,如果應用程序不處理異常,操作系統將終止它。
-除以零
參考
. 保護環
. 操作系統中的特權和非特權指令
. CIS 3207 – 操作系統:CPU 模式
. 編寫 Hello World Windows 驅動程序 (KMDF)
. 如何使用 C++ 以 SYSTEM 身份運行程序?
. 除以零預防:陷阱、異常和可移植性
. 用戶和內核模式、系統調用、I/O、異常
資料來源: Wentz Wu QOTD-20210802
PS:此文章經過作者同意刊登 並且授權可以翻譯成中文