一、基本概念
1.地址重定位
源程序中名地址 -> 目标程序中逻辑地址 -> 可执行代码中物理地址
2.地址定位方式
1)固定定位
ORG进行定位
2)静态重定位
物理地址=基地址+逻辑地址
3)动态重定位
程序执行时即时计算物理地址
二、基本存储管理方法
1. 单一连续区存储管理
一个作业在运行时独占整个用户区
2. 固定分区存储管理
内零头多
3. 可变分区存储管理
分配算法有:首次适应,循环首次适应,最佳适应(挑选最小的),最坏适应(挑选最大的)
三、内存扩充技术
1. 覆盖
覆盖技术就是将一个大程序按程序的逻辑结构划分成若干个程序(或数据)段,并将不会同时执行、从而就不必同时装入内存的程序段分在一组内
2. 交换
覆盖技术用于一个作业的内部,交换技术用于不同的作业。
3. 虚拟存储器
在主存中可只装入最近经常要访问的某些区域的指令和数据,剩余部分就暂时不必装入,等到以后要访问到它们时再调入内存。如果主存较紧张,必要时可将已不大访问的信息调出内存。
四、纯分页存储思想
将作业的虚地址划分成长度相等的虚页,将主存划分成与虚页长度相等的实页,程序装入时,每个虚页装到主存中的实页中。
地址结构:页号+页内偏移量
五、请求分页系统
1. 主要功能
(1)执行地址变换,将程序虚地址转化为物理地址。
(2)缺页时自动触发页面中断机构。
(3)缺页中断处理子程序,其中包括页面的调出和调入。
2. 页面淘汰算法
(1)最优淘汰
淘汰那些从当前时刻起在页面流中不再出现的页,如没有这类页,则淘汰一个在页面流中最晚出现的页。
无法实现,但可以作为评价标准,鉴别其他淘汰算法的优劣。
(2)先进先出FIFO
(3)最近最少使用LRU
(4)最近未使用NRU
六、段式存储管理
将程序按逻辑分成若干段,每段的虚地址都从0开始编址,整个虚地址空间是二维的。
地址=段号+段内偏移
七、段页式存储管理
分页与分段相结合
地址=段号+页号+页内偏移