【问题标题】:difference between virtual page permission bit and area struct permission bit虚拟页面权限位和区域结构权限位的区别
【发布时间】:2018-12-17 05:01:54
【问题描述】:

我是Linux和C的初学者,对虚拟页面权限位和区域结构权限位有疑问。 如下图所示:

我不明白的是,既然我们有页面级别的权限控制,那么有区域结构级别的权限控制有什么意义呢? 如果我们希望一个区域中的所有页面都是只读的,那么我们只需将每个虚拟页面的读取位设置为是,并将写入位设置为 0, 那为什么要双重定义呢?

【问题讨论】:

    标签: c linux process mapping virtual-memory


    【解决方案1】:

    页面级权限在页面进出时按需设置! vm_area_struct 用于检查页面本身的权限。

    CPU 本身会检查页面级别的权限位每次从页面读取或写入任何字节。

    【讨论】:

    • 那么如果没有页面级权限位,那么每次cpu试图访问一个页面时,进程只检查vm_area_struct?
    • @amjad 操作系统无法更改 CPU 在芯片上的功能
    【解决方案2】:

    在您的问题中,您遇到了虚拟记忆翻译和逻辑记忆翻译之间的区别。虚拟内存是使用二级存储模拟内存。逻辑内存是地址到物理地址的重定向。

    页表定义了逻辑内存转换。操作系统表定义了虚拟内存转换。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-09-10
      • 2013-05-12
      • 1970-01-01
      • 2017-07-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多