保护环0-处理故障

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/


<<:  [Angular] Day1. 认识 Angular

>>:  AI ninja project [day 1] 介绍

<Day26> 永丰金iLeader — 委托下单

● 这章会示范如何透过永丰的iLeader做下单动作 接续前一章,我们这次来操作下单的介面 点选红框...

Day25-JDK可视化监控工具:visualVM(一)

前言 介绍完了jconsole工具,接着要来介绍的是visualVM 下载 下载位置:VisualV...

Day 01 HTML<常用标签>

标题标签** <h1> - <h6> (一级标题 - 六级标题) 文字粗体...

基础建设:分散式服务追踪

微服务系统之间的呼叫链结可能错纵复杂,除了系统日志(Logging)和监控指标(Metrics),链...

[ Day 05 ] JSX 语法

我们昨天 Day 04 的时候在 App.js 档案中有看到以下的程序码: 不过,为什麽能够在一个...