gpt4 book ai didi

operating-system - "Protection rings"和 "CPU modes"是一回事吗?

转载 作者:行者123 更新时间:2023-12-05 02:09:28 28 4
gpt4 key购买 nike

我知道CPU有专门的寄存器来跟踪CPU的运行模式。我以为“保护环”和“CPU模式”是一回事,但是当我在维基百科上阅读有关“保护环”的文章时,我对真正的“保护环”是什么感到困惑。我的困惑点是维基百科文章中的这些行:

Ring protection can be combined with processor modes (master/kernel/privileged/supervisor mode versus slave/unprivileged/user mode) in some systems. Operating systems running on hardware supporting both may use both forms of protection or only one.

那么,“保护环”是操作系统级别的抽象吗?“保护环”和“CPU 模式”有什么区别?任何进一步的解释表示赞赏。

Protection rings

CPU modes

最佳答案

Are “Protection rings” and “CPU modes” the same thing?

这主要取决于 CPU 设计者/制造商如何定义他们的术语。

对于 80x86;该术语被定义为有多种 CPU 模式(实模式、保护模式、长模式等),并且一些 CPU 模式具有不是 CPU 模式的特权级别。但是,如果他们愿意,英特尔可以将其定义为“保护模式有 4 个子模式,每个子模式一个”。

对于其他 CPU,术语可能被定义为“管理员模式”和“用户模式”(可能还有其他模式——“虚拟化模式”、“IRQ 模式”等)。 ARM 像这样定义他们的术语(但如果他们愿意的话,他们可以更像“CPU 只有 2 种模式(正常模式和管理程序模式),其他一切都是别的东西(特权级别)”)来定义他们的术语。

So, is "Protection rings" an OS level abstraction? What's the difference between "Protection rings" and "CPU modes"?

一般来说,保护环的概念(将 OS 分成层并使层具有不同的权限/特权)比 80x86(至少与 1960 年代的 multics 一样古老,但可能更早并且可能追溯到 batch 1950 年代的处理系统),而 80x86 保护模式的设计仅仅是一个预先存在的概念的实现。

但是,没有现代操作系统(据我所知)使用这个概念(例如“所有用户代码都在一个保护域中”);相反,他们使用更多的隔离(例如“每个单独的进程在其自己的隔离保护域中”),这使得拥有超过 2 个特权级别(一个用于控制隔离,另一个用于控制彼此隔离的所有内容)变得毫无意义.

关于operating-system - "Protection rings"和 "CPU modes"是一回事吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59812595/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com