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

标签 c linux process mapping virtual-memory

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

enter image description here

enter image description here

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

最佳答案

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

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

关于c - 虚拟页面权限位和区域结构权限位之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53809199/

相关文章:

java - Java 垃圾收集时监控 CPU、RAM、I/O 使用情况

c# - 打开 Windows 资源管理器并执行搜索

c++ - 高度压缩数字网格

c - 编程查找总和,如果输入 'y',则使用 do while 循环重复该过程

java - Process.getInputStream() 不返回所有行

linux - Oracle Linux 上的 NodeJS 安装错误

php - 使用 PHP 控制 wget

c - Wait() 运行两次?

在 C 中检查字符串数组中的字符串

c - 是否可以评估 OpenMP 开销成本?