【问题标题】:What does the User/Supervisor bit in the page table entry mean?页表条目中的用户/主管位是什么意思?
【发布时间】:2015-07-17 07:56:12
【问题描述】:

我想了解是否:

  1. User/Supervisor 位用于区分内核内存页面和用户进程页面
  2. 在执行系统调用的同时执行移至内核时,用户/主管位会发生变化
  3. 或许没有。

有人可以澄清一下吗?

【问题讨论】:

    标签: operating-system paging


    【解决方案1】:

    在 Intel 虚拟内存系统上,将某个页面的用户/主管位设置为 1 意味着“此页面可由在用户模式下执行的进程访问(与主管模式相反)”,请参阅here。 在何种模式下执行进程由 CPU 状态寄存器中的管理器位决定。管理员位中的 1 表示在管理员模式下执行,请参阅here。当执行移至内核时,状态寄存器中的主管位会发生变化。
    所以你的两个假设都是正确的,但它们涉及到 2 个不同的位。

    【讨论】:

    • 如果页面设置为监督模式,是否意味着在内核内存中?
    • 是的,内核内存是一组页面,只能由在主管模式下执行的进程访问,而不是在用户模式下。页表中的主管位被内存管理单元用来保护它不被用户访问。进程是否在主管或用户模式下执行由 CPU 状态字中的主管位确定。
    • 但我可以在用户进程页面上设置监督位吗?还是所有带有监督位的页面都在内核内存中?
    • 如果在用户页面上设置了SV位,用户进程将无法再访问该页面,一旦尝试就会因内存冲突而导致崩溃。而且,是的,所有带有 SV 位的页面都是内核内存(如果你说在内核内存中,这听起来好像这是一个不同的内存,但它只是由这个位区分的一组页面)。
    • SV位开启的页面能否被分页?
    猜你喜欢
    • 2015-01-06
    • 2012-08-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-29
    • 2021-04-16
    • 2020-04-01
    • 2023-03-10
    相关资源
    最近更新 更多