gpt4 book ai didi

operating-system - 权限级别实现

转载 作者:行者123 更新时间:2023-12-04 20:15:14 24 4
gpt4 key购买 nike

我知道一般 CPU 可以以两种模式之一运行:
一种高级权限模式,在该模式中启用对硬件中“安全”区域的访问,以及在访问其余 cpu 功能时使用的低级权限模式。

我也明白有某种形式的保护机制强制只有操作系统可以在处理器处于高级特权模式(有时称为 ring 0)时运行,并且当任何用户空间进程正在运行处理器时处于低级特权模式(环 3)。

我的问题是这样的:
cpu 如何区分在 ring 0 模式下运行的 OS 进程和在 ring 3 中运行的用户空间进程?有什么机制可以确保用户级进程永远无法获得 ring 0 权限级别?

最佳答案

这取决于处理器,但我会使用 x86。

CPU 不理解进程的概念。这是切换出当前运行代码的操作系统抽象。 CPU 通过代码所在的页面了解运行代码的权限。

在分页操作系统中,OS 代码位于页表中标记为主管的页中,而用户模式代码在页表中标记为用户模式。当 CPU 访问任何内存位置时,在这种情况下是通过 EIP 的当前指令,CPU 会进行虚拟内存查找。在执行此查找时,CPU 查看页表并能够检查主管/用户模式标志并以这种方式解释当前指令。

关于operating-system - 权限级别实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13434119/

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