一.内存和磁盘的亲密关系
1不读入内存就无法运行
程序保存在存储设备中, 通过有序地被读出来实现运行,这一点大家都很清楚。这一机制称为存储程序方式( 程序内置方式),现在看来这是理所当然的, 但在当时它的提出可以说是一个里程碑。 为什么这么说呢? 因为在此以前的程序都是通过改变计算机的布线等来变更程序的。计算机中主要的存储部件是内存和磁盘。 磁盘中存储的程序,必须要加载到内存后才能运行。 在磁盘中保存的原始程序是无法直接运行的。这是因为, 负责解析和运行程序内容的CPU, 需要通过内部程序计数器来指定内存地址,然后才能 读出程序 。 即使CPU可以直接读出并运行磁盘中保存的程序, 由于磁盘读取速度慢,程序的运行速度还是会降低。总之, 存储在磁盘中的程序需要读入到内存后才能运行。在考虑内存和磁盘的关系之前, 大家一定要了解这个前提(图5-1)。
2.作为体现内存和磁盘亲密关系 的第一个示例,首先让我们来看一下磁盘缓存( disk cache)。 磁盘缓存指的是把从磁盘中读出的数据存储 到内存空间中的方式。这样一来, 当接下来需要读取同一数据时,就不用通过实际的磁盘, 而是从磁盘缓存中把内容读出。 使用磁盘缓存可以大大改善磁盘数据的访问速度
把低速设备的数据保存在高速设备中, 需要时可以直接将其从高速设备中读出, 这种缓存的方式在其他情况下也会用到。 其中的一个实例就是在Web浏览器中的使用。由于 Web浏览器是通过网络来获取远程Web服务器的数据并将其显示出来的。 因此,在显示较大的图片等文件时,会花费不少时间。于是, Web浏览器就可以把获取的数据暂时保存在磁盘中, 然后在需要时再显示磁盘中的数据。 也就是说,把低速的网络数据保存到相对高速的磁盘中。
3.虚拟内存( virtual memory )。 虚拟内存是指把磁盘的一部分作为假想的内存来使用。这与磁盘缓存是假想的磁盘 (实际上是内存)相对,虚拟内存是假想的内存(实际上是磁盘)。
4.磁盘是通过把其物理表面划分成多个空间来使用的。划分的方式有扇区方式和可变长方式两种, 前者是指将磁盘划分为固定长度的空间, 后者则是指把磁盘划分为长度可变的空间。 一般的Windows计算机所使用的硬盘和软盘, 采用的都是扇区方式。扇区方式中, 把磁盘表面分成若干个同心圆的空间就是磁道, 把磁道按照固定大小(能存储的数据长度相同)划分而成的空间就是扇区
阅读完本章,关于内存和磁盘的亲密关系清楚了很多。