3.1 内存管理概念
程序装入和链接:
逻辑地址与物理地址空间:
逻辑地址:都从0号单元开始
转化的过程(地址重定位)的方法:上面的三种装入方式
内存保护:
重定位寄存器(基址寄存器):记录起始地址
界地址寄存器(限长寄存器):最大逻辑地址
连续分配管理:需要分配连续的地址空间
非连续分配管理:可以分配分散的地址空间
基本分页存储管理:
物理地址 = 页面始址 + 页内偏移量
十进制
页号 = 逻辑地址 / 页面长度
页内偏移地址 = 逻辑地址 % 页面长度
二进制
若每个页面大小为2的k次B,用二进制表示逻辑地址,某位k位为页内偏移量,其余为页号
页表:M号内存块的起始地址 = M * 内存块大小
基本分段存储管理方式:
段表:
因为页的大小是固定的,段的大小是不固定的。因此和分页存储管理相比,多了比较段内是否越界这一步。
段页式管理方式:
结合了分页和分段的优点,对于作业先分段后再段内分页的策略
段页式的段表和段式的段表不同;页表和分页式的相同
3.2 虚拟内存管理
虚拟内存的实现建立在离散分配的基础上,
实现请求分页管理方式,操作系统需要提供请求调页、页面置换功能
请求分页管理方式:
和基本分页比,页表中新增的四个字段
页面置换算法:决定哪页换出/入
好的页面置换算法应当 追求更少的缺页率
-----最佳置换算法(OPT)
需要已知未来内存页面调用顺序,无法实现
-----先进先出置换算法(FIFO)
需要一个队列来表示进入内存块的页面的先后次序
-----最近最久未使用置换算法(LRU)
堆栈类算法
性能好,最接近OPT,但需要硬件支持
总结:
页面分配策略
工作集:
小结:
注意: 没有固定分配全局置换
这种说法!固定分配和全局置换本身就是矛盾的