离散分配内存管理
分页存储管理方式
该方式中,操作系统将用户程序的地址空间分为若干个固定大小的区域,称为“页”或“页面”。Linux系统的页面大小为4KB。相应地,也将内存空间分为若干个物理块或页框,页和块的大小相同。这样可以将用户程序的任意页放在内存的任意块,实现了分散分配。
地址结构
分页地址中的地址结构如下:
它包含两个部分内容,前一部分为页号P,后一部分为位(偏)移量W,即页内地址。图中的地址长度为32位,其中0 ~ 11位为页内地址,即每页大小为4KB,12~31位为页号,地址空间最多允许有1M页。
页表
在分页系统中,允许将进程的各个页离散地存储在内存的任一物理块中,为保证进程依然能够正确运行,即能在内存中找到每个页面所对应的物理块,系统又为每个进程建立了一张页面映像表,简称页表。在进程地址空间内所有页(0~n),依次在页表中有一页表项,其中记录了相应页在内存中对应的物理块号,见下图,在配置了页表后,进程执行时,通过查找该表,即可找到每页在内存中的物理块号。可见,页表的作用是实现从页号到物理块号的地址映射。