虚拟内存
如果它存在,而且你能看见它---它是真实的(real)
如果它不存在,但你能看见它---它是虚拟的(virtual)
如果它存在,但你看不见它---它是透明的(transparent)
如果它不存在,而且你也看不见它---那肯定是你把它擦掉了。
---IBM用于解释虚拟内存的张贴画,大约是在1978年
虚拟内存的概念,目的就是为了去除这个限制。它的基本思路是用廉价但缓慢的磁盘来扩充快速却昂贵的内存。在任一给定时刻,程序实际需要使用的虚拟内存区段的内容就被载入物理内存中。当物理内存中的数据有一段时间未被使用时,它们就有可能被转移到硬盘中,节省下来的物理内存空间用于载入需要使用的其他数据。除了PC之外(现在的Windows系统也使用了虚拟内存),都使用了虚拟内存。
多层存储是一个类似的概念,我们可以在一台计算机中到处看到它的存在(如在寄存器和主存中)。从理论上说,内存的每个位置都可以用寄存器来代替。虚拟内存只是对多层存储进行扩充,使用磁盘而不是主存来保存运行进程的映像,所以说它们实际上是同一种策略。
内存媒介的速度与成本关系
慢速访问 <-------- 快速访问
磁带 磁盘 内存 cache寄存器 CPU寄存器
成本低,容量大