1.什么是分页机制
操作系统为了高效管理内存,减少内存碎片,所以采用分页机制
逻辑地址和物理地址分离的内存分配管理方案
程序的逻辑地址划分为固定大小的页(Page)
物理地址划分为同样大小的帧(Frame)
通过页表对应逻辑地址和物理地址
图解:左边是用户程序,对于用户程序关心的是逻辑地址,通过页表来获取物理地址。页表里面映射了逻辑地址和物理地址的对应关系,通过中间和右边图,可以看出逻辑地址对应的物理地址不一定是连续的。
2.什么是分段机制
分段是为了满足代码的一些逻辑需求
数据共享,数据保护,动态链接等
通过段表实现逻辑地址和物理地址的映射关系
每个段内部是连续内存分配,段和段之间是离散分配的
图解:段表里面主要保存的是段号、段长和起始地址(基址),通过这三个就可以确定每个段,它从那个地方开始并且它的长度是多少,段表可以把段号跟内存空间真实的物理地址对应起来。
3.分页和分段的区别
分页 vs 分段
页是出于内存利用率的角度提出的离散分配机制
段是出于用户角度,用于数据保护,数据隔离等用途的管理机制
页的大小是固定的,操作系统决定;段大小不确定,用户程序决定