版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/LZUwujiajun/article/details/82781918
组成(由上至下,由高地址到低地址)
映射到虚拟内存的Kcrnel内核:无法被程序访问
命令行参数和环境变量
栈(用户栈):由上至下伸长,栈帧包括函数实参和局部变量(自动变量)和函数的调用链接信息
未分配的内存
堆:由下至上伸长,运行时动态分配的空间
未初始化的数据段(BSS):未显式初始化的全局变量和静态变量,不分配存储空间知道运行时
初始化的数据段:显式初始化的全局变量和静态变量,当程序加载到内存时可以直接读取值
文本(程序代码)
虚拟内存管理
每个程序只有部分页存储在物理内存中,需要时调换。
特性:时间局部性和空间局部性
组织:页表
页表:每个条目指出虚拟页面在RAM的位置,或者表明当前驻留在磁盘上,并不是所有内存都在页表上有。
虚拟内存管理的优点
- 进程与进程,进程与内核相互隔离,不可读取另一个进程的内存或内核
- RAM中能容纳更多进程