gpt4 book ai didi

linux - Linux 内核的哪一部分强制执行权限分离以及如何执行?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:34:37 25 4
gpt4 key购买 nike

我想知道内核以及负责此任务的内核部分是如何强制执行特权分离的。

例如,假设有两个进程在运行——一个在 ring 0,另一个在 ring 3。内核如何跟踪每个进程的环号?

编辑:我知道戒指号码。我的问题是关于内核(模块或其他东西)的部分,它对进程执行检查以找出它们的特权级别。我相信可能有一个内核组件会检查进程的环号。

最佳答案

没有进程环号的概念。

内核映射到一个内存区域,用户空间映射到另一个内存区域。在启动时,内核指定一个地址,当执行 syscall 指令时,cpu 必须跳转到该地址。于是有人做了syscall,cpu切换到ring0,跳转到内核指示的地址。它现在正在执行内核代码。然后,在返回时,cpu 切换回 ring3 并恢复执行。

类似的其他进入内核的方法,如异常。

那么,linux 内核是如何强制分离的呢?它为用户空间设置了在 ring3 中执行的东西。任何触发 cpu 切换到 ring0 的东西也会跳转到内核在启动时配置的地址。 ring0 中除了内核代码外没有其他代码执行

关于linux - Linux 内核的哪一部分强制执行权限分离以及如何执行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38940472/

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