[操作系统] 单个进程在用户空间和内核空间的内存布局
在内存上与单个进程有关的数据可分作两个部分:
储存在用户空间的,代码段、堆栈等。
存储在内核空间的,存储器情况、页表等。
1. 用户空间
包括以下区域:
a. 代码段,保存机器指令,动态链接库和多个进程运行的相同程序共享同一个代码段。
b. 未初始化数据段,未初始化的全局变量、静态变量,一般会被自动初始化为0。
c. 已初始化数据段,已初始化的全局变量、静态变量和常量。
d. 内存映射区,动态库、共享内存等。
2. 内核空间
a. 进程私有部分,内核栈、页表、task结构、mem_map结构等。
b. 进程共享的部分,物理存储器、内核数据、内核代码区域。