本文主要介绍以下几方面的知识:
- 页式存储器(应用于虚拟存储器)
- 虚拟存储器(深刻理解)
1.页式存储器
注: 虚拟地址或虚拟存储器的理解,请参考下文 虚拟存储器 的介绍
- 页式存储
- 虚地址 VS 实地址
- 地址转换(虚地址——>实地址)
CPU执行的机器指令中,使用的是 “逻辑地址”,因此需要通“页表”将逻辑地址转为物理地址。
页表的作用
: 记录了每个逻辑页面存放在哪个主存块中
- 地址转换(
TLB——快表
)
整体感受
2.虚拟存储器
非常建议你认真阅读下段文字,你将会有不一样的收获!!!
虚拟存储器探讨的是:
辅存 —主存
的层次,其概念如下:
- 在运行程序时(应用程序存放在辅存中,需要将辅存中的部分程序调入主存中,而计算机主存的容量远远小于辅存的容量),希望在编制程序时独立编址,既不考虑程序能否在物理存储器(主存)中存放的下,也不考虑应该存放在什么物理位置 。而在程序运行时,则分配给每一个程序一定的运行空间,由地址转换部件(硬件或软件)将
编程时的地址(虚地址)
转化为实际内存的物理地址(实地址)
。如果分配的内存不够,则只调入当前正在运行或者将要运行的程序块(或数据块),其余部分暂时驻留在辅存中。用户编址程序时使用的地址称为虚地址或逻辑地址,其对应的存储空间称为虚存空间或逻辑地址空间。- 每次访存时,首先判断虚地址所对应的部分是否在主存中:如果是,则进行地址转换,并使用实地址访问主存;否则按照某种算法将辅存中的部分程序调度进内存(由操作系统实现),再按同样的方法访问主存
- 由以上知,每个程序就可以拥有一个
虚拟存储器
,它具有辅存的容量和接近主存的访问速度。但这个虚拟存储器是主存和辅存以及辅助管理部件构成的概念模型,不是实际的物理存储器- 虚拟存储器设计存储管理软件的系统程序员是不透明的,对应用程序员透明
(1)页式虚拟存储器
(2)段式虚拟存储器
(3)段页式虚拟存储器
(4)
存储器层次化结构