iT邦幫忙

0

保護環0-處理故障

  • 分享至 

  • xImage
  •  

https://ithelp.ithome.com.tw/upload/images/20210901/201321603bcsjROKk3.png
-保護環(來源:維基百科)

保護環:指令特權級別和操作系統模式(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://ithelp.ithome.com.tw/upload/images/20210901/20132160hSxqbEpcQ4.jpg
-異常處理(來源:https : //minnie.tuhs.org/)
操作系統 (OS) 內核通常處理來自進程的系統調用、來自 CPU 的異常以及來自外圍設備的中斷。在用戶模式下運行的應用程序或進程可能會遇到錯誤或故障,導致在內核模式下運行的操作系統內核捕獲到 CPU 級別的異常。如果發生故障,操作系統內核將拋出異常或向應用程序發送信號。以下屏幕截圖是演示應用程序正確處理異常的代碼片段。但是,如果應用程序不處理異常,操作系統將終止它。
https://ithelp.ithome.com.tw/upload/images/20210901/201321607ZayXG6l5o.jpg
-除以零

參考
. 保護環
. 操作系統中的特權和非特權指令
. CIS 3207 – 操作系統:CPU 模式
. 編寫 Hello World Windows 驅動程序 (KMDF)
. 如何使用 C++ 以 SYSTEM 身份運行程序?
. 除以零預防:陷阱、異常和可移植性
. 用戶和內核模式、系統調用、I/O、異常

資料來源: Wentz Wu QOTD-20210802
My Blog: https://choson.lifenet.com.tw/


圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言