文章目录
- 基本概念
- 地址重定位
- 存储管理方案
- 分区存储管理
- 分页存储管理
- 做题的方法
- 地址重定位
- 淘汰页号
- 分段存储管理
- 段页式存储管理
- 虚拟存储管理
基本概念
地址重定位
地址重定位是指将程序中的虚拟地址(逻辑地址)变换称内存的真实地址(物理地址)的过程。
逻辑地址:相对地址。
- 用户目标程序所使用的地址单元,一般以0作为基址。
物理地址:绝对地址。
- 加载到内存地址寄存器中的地址,内存单元的真正地址。
存储管理方案
存储管理的主要目的是解决多个用户使用主存的问题。
分区存储管理
把主存的用户区域划分成若干个区域,每个区域分配给一个用户作业使用,并限定它们只能在自己的区域中运行。
- 单独分配的符合用户作业需求的完整区域
- 连续的区域
分页存储管理
将一个进程的地址空间划分成若干个大小相等的区域,称为页。
相应地,将主存空间划分成与页相同大小的若干个物理块,称为块或页框。
- 平均分配的大小相等的区域
- 离散的区域
做题的方法
地址重定位
页号 | 物理块号 |
---|---|
0 | 3 |
1 | 6 |
2 | 8 |
3 | 9 |
假设页和物理块的大小均为1024B | |
页号=2100/1024≈2 | |
页内地址=2100-1024×2=52 | |
物理块=页号为2的物理块号=8 | |
物理地址=8×1024+52=8244 |
淘汰页号
状态位:0-不在内存,1-在内存。
访问位:0-经常访问,1-不经常访问。
修改位:0-无修改,1-有修改。
- 淘汰的页面一定是在内存的,即状态位=1
- 优先级:访问位=0 >> 修改位=0。
分段存储管理
为每个段分配一个连续的分区,而进程的各个段可以离散地分配到主存的不同分区中。在系统中为每个进程建立一张段映射表,简称为“段表”。
每个段在表中占有一个表项,在其中记录了该段在主存中的起始地址(又称“基址”)和段的长度。进程在执行时,通过查段表来找到每个段所对应的主存区。
- 按进程资源的实际大小,分配段长。
- 离散的区域。
段页式存储管理
先将整个主存划分成大小相等的存储块(页框),将用户程序按程序的逻辑关系分为若干个段,再将每个段划分成若干页,以页框为单位离散分配。
段页式系统中,其地址结构由段号、段内页号和页内地址三部分组成。
- 按进程资源的实际大小,分配段长。
- 段内平均分配大小相等的区域(页)。
- 离散的区域。
虚拟存储管理
当主存空间不能满足作业要求时,作业无法装入主存执行。
如果一个作业只部分装入主存便可开始启动运行,其余部分暂时留在磁盘上,在需要时再装入主存,这样可以有效地利用主存空间。
从用户角度看,该系统所具有的主存容量将比实际主存容量大得多,这样的存储器称为虚拟存储器。