操作系统的内存管理方式有三种:分段式、分页式、段页式。
首先介绍分段式:
概念:将地址空间进行分段,代码段/数据段/堆/栈/参数/环境变量。根据使用一个空间的性质,在不同的分段,分配虚拟地址,有助于编译器内存管理
虚拟地址组成:段号+段内偏移量
过程:在操作系统中,有一个段表,段表中包含:虚拟段号+物理内存段起始地址,通过虚拟地址中的段号,在段表中找到相应的段表项,得到物理起始地址,加上段内偏移量最终得到物理地址。
分页式:
虚拟地址的组成:页号+页内偏移量
过程:在操作系统中有一个页表,页表中包含:虚拟页号、物理块起始地址、页内访问控制标志、缺页中断位。
通常在操作系统中,页面大小为4096,则4G的空间就有100多万页表项。
分页式内存管理作用:主要是实现数据在物理内存上的离散式存储以及内存访问控制
段页式: