整体讲内存和磁盘的关系。内存和磁盘都是存储部件,内存利用电流实现存储,高速高价,磁盘利用磁效应,低速廉价。程序保存在存储设备中,通过有序的被读出来实现运行,这是存储程序方式,磁盘中的程序必须加载到内存后才能运行,因为cpu需要内部程序计数器来指定内存地址,然后才能读出程序。
磁盘缓存可以体现内存和磁盘的关系。磁盘缓存指的是把从磁盘读出的数据存储到内存空间的方式。当需要读取同一数据时,可以不用通过实际的磁盘,而从磁盘缓存中读出,能提高磁盘数据的访问速度。
虚拟内存是第二个例子。它是指把磁盘的一部分作为假想内存来使用。虚拟内存是假想的内存(实际是磁盘),磁盘缓存是假想的磁盘(实际是内存)。借助虚拟内存,在内存不足时也可以运行程序。为实现虚拟内存,必须把实际内存的内容,和磁盘上的虚拟内存的内容进行部分置换,并同时运行程序。5.4介绍了节约内存的编程方法,为了解决内存不足的问题,一是增加内存的容量,二是把运行的文件变小。这里有两个方法。
1)通过dll文件实现函数共有。dll文件是在程序运行时可以动态加载函数和数据的集合的文件。2)通过调用_stdcall来减小文件。它是标准调用的简称。但文章没有讲述这两个的具体方法步骤。好像也讲了,但是没看懂。
5.5讲磁盘的物理结构。磁盘是通过把它的表面划分成多个空间来使用的。一般用扇区方式。
扇区是对磁盘进行读写的最小单位。但是在逻辑方面对磁盘读写的单位是 簇。不同文件不能存储在同一簇,所以不管多小的文件都会占用1簇的空间。