您可以修改自己的页表(与操作系统相关)吗?



我目前正在学习操作系统中的虚拟内存。我最近了解到访问权限存储在页表中,所以我想知道您是否可以修改自己的页表?硬件是否对此强制执行保护?

是的,您可以在一定程度上修改页表。大多数操作系统都有系统服务,允许您将页面映射和取消映射到地址空间(从而修改页表)。

由于页表

始终存储在系统地址空间中,并且访问仅限于内核模式,因此必须在内核模式下修改页表。这意味着通过以内核模式执行的系统服务来执行此操作。

当然,您仅限于系统服务可以进行的修改类型。

不可以,您(作为用户代码)不能直接修改进程或任何其他进程的页表。

页表由内核独占管理。它们存储在物理内存中,不会映射到用户空间。

硬件(特别是 MMU)强制执行此保护,就像它保护所有内核数据和代码一样。

最新更新