Memory Partition and Paging

固定分区和可变分区

  • 固定分区固定了内存分区的大小,使用中不够灵活
  • 使用可变分区时需要建立空闲分区表并进行管理
使用分区会产生大量的内存碎片,需要通过内存紧缩移动碎片合并空闲分区。
在实际中内存紧缩会占用大量时间使系统无响应,因此不会被采用

分页

将内存统一分为4K大小,使用mem_map记录内存中每个页的使用情况
notion image
使用页表寄存器cr3记录当前进程的页表,🌰:
notion image
内存管理单元(MMU)会通过页表起始地址找到页表并计算得出:
  1. 页号:0x2240 >> 12 = 0x02,对应页框3
  1. 物理地址:0x3240