发布于 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保护模式的设计仅仅是对一个预先存在的概念的实现。
然而,现代操作系统(据我所知)没有使用这一概念(例如,“单个保护域中的所有用户代码”);相反,它们使用的隔离程度要高得多(例如,“每个单独的进程在其独立的保护域中”),这使得拥有超过两个特权级别(一个用于控制隔离,另一个用于彼此隔离的所有内容)是毫无意义的。
https://stackoverflow.com/questions/59812595
复制相似问题