步骤 2 / 9
每个进程的地址空间
内核为进程划好区域:代码、堆、栈、共享库各在各的位置。
进程的地址空间不是一整块乱用,而是分成几个区域,各有用途和权限,比如代码区只读可执行。
在 Linux 上,/proc/
操作系统
每个程序都以为自己独占一大片内存,其实背后有一层翻译。
以 Linux 上一个程序读取自己内存中的一个变量为例,只讲概念。
步骤 2 / 9
内核为进程划好区域:代码、堆、栈、共享库各在各的位置。
进程的地址空间不是一整块乱用,而是分成几个区域,各有用途和权限,比如代码区只读可执行。
在 Linux 上,/proc/
| 当前状态 | 发生了什么 |
|---|---|
| 用户态 | 程序想读取一个变量 |
| 用户态 | 地址落在“堆”区域 |