linux - vm_area_struct 中的 start_data、end_data 和类似字段 : vm_start, vm_end

标签 linux memory linux-kernel

在mm_struct中,有一些字段指示数据区域的范围:start_data、end_data。 并且在数据区域的vm_area_struct中还有指示该区域范围的字段:vm_start、vm_end。

它们是如何对应的? 为什么mm_struct中没有bss_start、bss_end字段?

最佳答案

mm_struct 指的是整个进程,vm_area_struct 指的是内存区域。一个进程由许多内存区域组成。

Why there are no bss_start, bss_end fields in mm_struct?

因为 mm_struct 指的是整个进程而不是进程的特定部分。

流程中的部分和区域的数量不同相同。内存区域可能有数百个。

关于linux - vm_area_struct 中的 start_data、end_data 和类似字段 : vm_start, vm_end,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19025058/

相关文章:

c# - 检测何时即将耗尽内存(获取 "free physical memory"的数量)

c - 为什么需要缓存内存对齐?

javascript - Javascript 数组中的未定义值是否使用任何内存或在 for-in 循环中迭代?

c - Linux 中的 DMA 如何处理 memcpy

JavaFX:仅在 Linux 上找不到或加载主类

ruby-on-rails - 您将哪些部署目录用于 Rails 应用程序(部署到 debian 机器)?

python - 打开从 os.listdir() 找到的文件并比较里面的行?

regex - 使用 SED 在搜索条件后替换不同的字符串

c - ‘struct file_operations’ 的强制函数

c - 从 linux 驱动程序中执行二进制文件