【问题标题】:What does the User/Supervisor bit in the page table entry mean?页表条目中的用户/主管位是什么意思? 【发布时间】:2015-07-17 07:56:12 【问题描述】: 我想了解是否: User/Supervisor 位用于区分内核内存页面和用户进程页面 在执行系统调用的同时执行移至内核时,用户/主管位会发生变化 或许没有。 有人可以澄清一下吗? 【问题讨论】: 标签: operating-system paging 【解决方案1】: 在 Intel 虚拟内存系统上,将某个页面的用户/主管位设置为 1 意味着“此页面可由在用户模式下执行的进程访问(与主管模式相反)”,请参阅here。 在何种模式下执行进程由 CPU 状态寄存器中的管理器位决定。管理员位中的 1 表示在管理员模式下执行,请参阅here。当执行移至内核时,状态寄存器中的主管位会发生变化。 所以你的两个假设都是正确的,但它们涉及到 2 个不同的位。 【讨论】: 如果页面设置为监督模式,是否意味着在内核内存中? 是的,内核内存是一组页面,只能由在主管模式下执行的进程访问,而不是在用户模式下。页表中的主管位被内存管理单元用来保护它不被用户访问。进程是否在主管或用户模式下执行由 CPU 状态字中的主管位确定。 但我可以在用户进程页面上设置监督位吗?还是所有带有监督位的页面都在内核内存中? 如果在用户页面上设置了SV位,用户进程将无法再访问该页面,一旦尝试就会因内存冲突而导致崩溃。而且,是的,所有带有 SV 位的页面都是内核内存(如果你说在内核内存中,这听起来好像这是一个不同的内存,但它只是由这个位区分的一组页面)。 SV位开启的页面能否被分页?