ring0
~ring3
级别,ring0
给内核空间使用,ring3
给用户空间使用;同样的,ARMv7也是如此,svc
给内核使用,user
级别给用户程序使用的。vmalloc
保证虚拟地址是连续的,不保证分配的物理页面的地址是连续的。mmap
空间用来映射文件和大段的匿名页面等,当内存分配大段的内存页面时,libc
会偏向使用mmap
来分配进程地址空间
.init
段:程序初始化代码段.text
段:程序编译完成后的机器指令.data
段:已经初始化过的全局变量和静态变量.bss
段:保存没有初始化过的全局变量和静态变量.init
段和.text
段, 可读可执行.data
段和.bss
段, 可读可写