内存管理/分页机制,虚拟内存到实际物理地址的转换
物理地址:内存单元的真正地址,编号从0开始,一直到最高端。
逻辑地址:CPU所生成的地址,是内部和编程使用的,不唯一。
[1] 分页机制:
是离散分配方式,避免内存中的碎片。将进程的逻辑地址空间分为若干大小相等的页面,也把内存分成很多块,然后把页面装到不连续的物理块中。
页的逻辑地址:页号(20bit)+页内地址(10bit)32位最多有1m页
页表:页号+块号 段表:段号+段长+基址
[2] 地址变换机构:
就是逻辑地址到物理地址的转换。当要访问逻辑地址中的数据时,分页地址变换机构把逻辑地址=页号+页内偏移
然后,页号去页表寄存器中,页号*页表长度,得到页表中的位置,然后找到对应的内存中的物理块号,然后根据业内偏移找到块内地址,即完成地址转换。
[3] 分段机制:
是为了方便程序员编程。和动态链接,以段为单位。
每个作业被分成若干段,主程序段、数据段、栈段、堆段。段的地址分为段号16位,段内地址16位。
[4] 段的地址变换机构
将逻辑地址(段号+段内地址)中的段号分离,去段报表中比较,找到在内存中的基址,然后加上段内地址,得到物理地址。