首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >“保护环”和"CPU模式“是一回事吗?

“保护环”和"CPU模式“是一回事吗?
EN

Stack Overflow用户
提问于 2020-01-19 17:30:20
回答 1查看 603关注 0票数 3

我知道CPU有专门的寄存器来跟踪CPU的运行模式。我以为“保护环”和"CPU模式“是一样的,但是当我读到维基百科上关于”保护环“的文章时,我对”保护环“到底是什么感到困惑。我的困惑之处在于维基百科文章中的这几行:

在某些系统中,环保护可以与处理器模式(主/内核/特权/监控器模式和从/非特权/用户模式)相结合。在支持两者的硬件上运行的操作系统可以使用两种形式的保护,或者只能使用一种。

那么,“保护环”是操作系统级别的抽象吗?“保护环”和"CPU模式“有什么区别?如有任何进一步的解释,将不胜感激。

保护环

CPU模式

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-01-19 19:42:44

“保护环”和“CPU模式”是一回事吗?

这在很大程度上取决于CPU设计人员/制造商如何定义他们的术语。

对于80x86,术语的定义是有多种CPU模式(实际模式、保护模式、长模式等),有些CPU模式具有非CPU模式的特权级别。然而,如果英特尔愿意的话,它可以定义得更像是“保护模式有4种子模式,每个特权级别一种”。

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

那么,“保护环”是操作系统级别的抽象吗?“保护环”和"CPU模式“有什么区别?

一般来说,保护环的概念(将OS分成层并拥有具有不同权限/权限的层)要比80x86古老得多(至少与1960年代的multics一样古老,但可能更老,可能可以追溯到20世纪50年代的批处理系统),80x86保护模式的设计仅仅是对一个预先存在的概念的实现。

然而,现代操作系统(据我所知)没有使用这一概念(例如,“单个保护域中的所有用户代码”);相反,它们使用的隔离程度要高得多(例如,“每个单独的进程在其独立的保护域中”),这使得拥有超过两个特权级别(一个用于控制隔离,另一个用于彼此隔离的所有内容)是毫无意义的。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59812595

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档