“保护环”和“ CPU模式”是否相同?

问题描述 投票:0回答:1

我知道CPU具有特殊的寄存器来跟踪CPU的工作模式。我以为“保护环”和“ CPU模式”是同一回事,但是当我阅读了维基百科上有关“保护环”的文章时,我对真正的“保护环”感到困惑。我感到困惑的是维基百科文章中的这些行:

环保护可以与某些系统中的处理器模式(主模式/内核模式/特权/管理员模式与从属模式/非特权模式/用户模式)结合使用。在同时支持两者的硬件上运行的操作系统可以使用两种保护形式,也可以仅使用一种保护形式。

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

Protection rings

CPU modes

operating-system cpu cpu-architecture cpu-registers
1个回答
0
投票

“保护环”和“ CPU模式”是否相同?

[主要取决于CPU设计人员/制造商对定义其术语的感觉。

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

对于其他CPU,可以定义术语,以便存在“管理员模式”和“用户模式”(也许还有其他模式-“虚拟化模式”,“ IRQ模式”等)。 ARM这样定义了他们的术语(但是,他们可以更像“ CPU只有2种模式(正常模式和虚拟机管理程序模式),而其他所有东西(特权级别)”也可以定义其术语)。

因此,“保护环”是OS级别的抽象吗? “保护环”和“ CPU模式”有什么区别?

[通常,保护环的概念(将操作系统分为多个层,并具有不同的权限/特权的层)比80x86(至少与1960年代的multics一样古老,但可能更旧,并且可以追溯到批处理) 1950年代的各种系统),而80x86保护模式的设计只是先前概念的实现。

但是,(我所知道的)现代操作系统都没有使用该概念(例如,“单个保护域中的所有用户代码”);而相反,它们使用了更多的隔离(例如“在其自己的隔离保护域中的每个进程”),这使其具有两个以上的特权级别(一个用于控制隔离,另一个用于彼此隔离的事物)是毫无意义的。 。

© www.soinside.com 2019 - 2024. All rights reserved.