内存管理

8.1 背景 

逻辑地址:CPU生成的地址

物理地址:内存单元所看到的地址

重定位寄存器:Hardware device that maps virtual to physical address

The user program deals with logical addresses;

it never sees the real physical addresses(只能看见逻辑地址,不能看见物理地址)

三种装入方式:

  • 绝对装入:编译时产生相对地址。(单道程序阶段)
  • 可重定位装入:装入时将逻辑地址转换为物理地址。(用于早期多道批处理操作系统)
  • 动态运行时装入:运行时将逻辑地址转换为物理地址,需设置重定位寄存器。
8.2 交换
8.3 连续内存分配

1.内存映射与保护

重定位寄存器(基址寄存器)和界地址寄存器(限长寄存器)进行越界检测。重定位寄存器存放进程的起始物理地址。界地址寄存器存放进程的最大逻辑地址

内存分配

  • 首次适应 first-fit:分配第一个足够大的孔,查找可以从头开始,也可以从上次首次适应结束时开始。
  • 最佳适应 best-fit:分配最小的最够大的孔。必须查找整个列表,除非列表按照大小顺序。这种方法可以产生最小剩余孔。
  • 最差适应 worst-fit:分配最大的孔。同样必须查找整个列表。可以产生最大剩余孔,可能比最小剩余孔更加有用。
  • 比较:
    • 执行时间和空间利用 :首次适应和最佳适应 > 最差适应
    • 执行时间:首次适应>最佳适应
    • 空间利用:首次适应~最佳适应
8.4 分页

逻辑地址空间为2m,页大小为2n(字或字节),逻辑地址表达为p|d:

页号 p = m-n,页偏移 d = n

8.5 页表结构

1.层次页表

2.哈希页表

虚拟页码、所映射的帧号、指向链表下一元素的指针

3.反向页表

 

 


0 条评论

发表评论

Avatar placeholder