内存管理
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 条评论