为何分页会导致覆盖问题
分页地址映射是一种一维空间的映射,在编译器中动态编译程序时,并不清楚程序总共需要多少内存空间,所以分配的内存地址空间中划分的堆栈区,数据区,代码区,常量存储区等在动态增长的过程中可能会覆盖到其他的分区位置。
分页的优点是只需要寻址一次,寻址快,程序可以快速运行,并且分页虚拟内存映射可以实现用较小的内存空间运行更大的程序,但是会出现不同区域之间数据的覆盖问题
分段的话就是给每一个区都分配单独的地址空间,可以动态增长,通过分段的二位地址映射方式进行寻址。
分段程序需要进行两次寻址,寻址速度慢一点,但是可以清晰的进行程序内存中各个数据库的管理,有利于数据的共享与保护。
现代计算机系统中都是使用段页式内存地址映射进行管理的。即将程序的地址空间划分为多个独立地址空间的段,然后在每个段的地址空间划分为多个相同大小的页。