虚拟页面权限位和区域结构权限位之间的区别

时间:2018-12-17 05:01:55

标签: c linux process mapping virtual-memory

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

enter image description here

enter image description here

我不了解的是,由于我们具有页面级权限控制,因此具有区域结构级权限控制有什么意义? 如果我们希望一个区域中的所有页面均为只读,则只需将每个虚拟页面的读取位设置为yes并将写入位设置为0, 那么为什么要双重定义?

2 个答案:

答案 0 :(得分:1)

页面进出映射时,可以按需设置页面级权限! $foo用于检查页面本身应具有的权限。

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

答案 1 :(得分:0)

在您的问题中,您遇到的是虚拟内存转换和逻辑内存转换之间的差异。虚拟内存是使用辅助存储对内存进行的模拟。逻辑内存是地址到物理地址的重定向。

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