第五章 内存和磁盘的亲密关系

说起硬盘,我知道的就是硬盘容量比较大,计算机中的数据都保存在硬盘中,硬盘是以扇区来存储数据,而读完这章我知道了硬盘与内存的区别,及硬盘的物理机制。内存与磁盘的区别在于内存是利用电流来实现存储的,磁盘是利用磁效应来实现存储的,内存比磁盘的速度快,内存中的数据在断电的时候会丢失,而硬盘不会。还知道就是存储在硬盘中的数据不读入内存就无法运行,原因在于,负责解析和运行程序的CPU需要通过内部程序计数器来指定地址,然后才能读出程序。

    磁盘缓存,是内存中的一部分,是指把从磁盘中读出的数据存储在内存中,当该数据再次被读取时,不是从磁盘,而是从内存中高速读出。虚拟内存,是把硬盘中一部分空间当做内存来用,在内存不足时,为了实现虚拟内存,就必须把实际内存的内容,和磁盘上的虚拟内存的内容进行部分交换,并同时运行程序。虚拟内存的方法有分页式和分段式,Windows采用的是分页式,是指在不考虑构造情况下,把运行的程序按照一定大小的页进行分割,并以页为单位进行内存与硬盘进行置换。但是有时虚拟内存也解决不了内存不足导致的运行不畅,这时解决的方法就是增加内存容量或把运行的应用文件尽量变小。

    将应用文件变小的方法有两种,一通过DLL文件实现函数公有,二通过调用_stdcall来减小程序文件的大小。

    最后就是磁盘的物理机构,磁盘是通过把其物理表面划分成多个空间来使用的,划分方法有扇区方式和可变长方式,前者是将硬盘划分成固定长度的空间,后者是把硬盘划分成长度可变的空间。扇区方式中,把磁盘表面分成若干个同心圆的空间就是磁道,把磁道按照固定大小划分成的空间就是扇区(1扇区=512字节)。在逻辑方面对磁盘进行读写的单位是扇区整数倍簇,1簇可以是512字节、1KB、2KB等,在软盘中,一簇就等于一扇区,不管是硬盘还是软盘,不同的文件不能存放在同一个簇中。

原文地址:https://www.cnblogs.com/by123-/p/10388204.html