Linux进程内存方案[关闭]
Posted
技术标签:
【中文标题】Linux进程内存方案[关闭]【英文标题】:Linux process memory scheme [closed] 【发布时间】:2013-03-20 00:05:47 【问题描述】:AFAIK 有一个存储内核相关数据的进程内存分区,它被标记为只读。
我找不到事实解释为什么会发生这种情况,这个区域的目的是什么以及为什么要将它包含在每个进程内存空间中?
【问题讨论】:
做一个cat /proc/self/maps
并阅读更多关于它的输出。
【参考方案1】:
就像用户模式内存空间一样,内核需要自己的代码段 (RX)、数据段 (R/RW) 和线程堆栈帧 (RW)。
我不会说它需要包含在进程内存空间中,而是说它是内核始终驻留的地方。与进程之间发生上下文切换时会被替换的进程内存空间不同,内核空间(32 位 >=0xC0000000 和 64 位 >=0xFFFFFFFF80000000)在整个过程中永远不会被替换。
这是一项必要的要求,因为系统上只有一个内核,并且它必须始终保持在内存(虚拟)中的同一位置,以处理系统调用、中断和运行各种内核任务。
【讨论】:
以上是关于Linux进程内存方案[关闭]的主要内容,如果未能解决你的问题,请参考以下文章