虚拟存储器是一个逻辑模型,并不是一个实际的物理存储器。
1. 作用
(1) 分隔地址空间
(2) 解决主存的容量问题
(3) 程序的重定位
2. 特点:
虚拟存储器和Cache都是基于程序局部性原理,它们的相同点在于:
① 把程序中最近常用的部分驻留在高速度的存储器中。
② 一旦这部分程序不再常用,把它们送回到低速的存储器中。
③ 这种换入、换出操作是由硬件或是操作系统完成,对用户透明。
④ 力图使存储系统的性能接近高速存储器,价格接近低速存储器。
两者的不同点在于:
① Cache用硬件实现,对操作系统透明;而虚拟存储器是由操作系统、硬件相结合实现的。
② Cache是一个物理存储器;而虚拟存储器仅是一个逻辑存储器,物理结构是建立在主存-辅
存二级存储器结构之上。
3.存储管理
(1) 段式管理---主存按段分配的存储管理方式
· 段是利用程序的模块化性质,按照程序的逻辑结构划分成的多个相对独立部分。
· 系统的基本信息传送单位为段(地址映射关系见图3)。
· 优点:
· 段的分界与程序的自然分界相对应;
· 段的逻辑独立性使它易于编译、管理、修改和保护。也便于多道程序共享;
· 某些类型的段(堆栈、队列)具有动态可变长度,允许自由调度以便有效利
用主存空间。
· 缺点:因为段的长度各不相同,段的起点和终点不定.给主存空间分配带来麻烦。而
且容易在段间留下许多空余的零碎存储空间不好利用,造成浪费。