从存储程序指令和数据的角度来看,可以说,内存和磁盘的功能是一样的,在计算机的五大部件中,内存和磁盘都属于存储器,但是利用电流实现储存的内存和利用磁实现存储的磁盘还是有所不同的,在存储容量相同的前提下,内存速度快,但价格贵,磁盘速度慢,但价格实惠。在计算机系统中,速度快,容量小的内存和速度慢,容量大的磁盘取长补短,相互配合完成工作。程序要先存储在存储器中,然后才被依次读取执行,这种方式称为存储程序方式,计算机中的存储器包括内存和磁盘。存储在磁盘中的程序需要先加载到内存才能运行,不能在磁盘上直接运行,这是因为CPU在对程序内容进行解释和运行时,是通过其内部的程序计数器指定内存地址来读取程序的,即便CPU能够直接读取并运行磁盘上的程序,由于磁盘读取速度慢,所以程序的运行速度也会很慢。存储在磁盘中的程序需要先加载到内存后才能运行。第一个实现内存与磁盘密切联系的例子就是磁盘。缓存磁盘缓存是一块内存空间,用于临时存放从磁盘读取出来的数据。将低速设备中的数据保存在高速设备中,当需要相同数据时,直接从高速设备中读取,这样的设计就叫做缓存。体现内存与磁盘密切联系的第二个例子就是虚拟内存。虚拟内存是将磁盘的一部分模拟成内存来使用的机制。有了虚拟内存,我们就可以在内存不足的状态下运行程序。于是,为了实现虚拟内存,就需要在运行程序的过程中,对实际内存(物理内存)和磁盘上的虚拟内存中的部分进行置换,虚拟内存的实现方式分为分页式和分段式。体现内存与磁盘密切联系的最后一个例子就是固态硬盘,固态硬盘是将一种可读写的且断开电源后内容不会丢失的闪存作为硬盘来使用的产品。固态硬盘的本质是内存。和机械硬盘相比,固态硬盘具有速度快,低能耗、无噪声、耐冲击、重量轻的优点,但要彻底解决内存不足的问题,只能增加内存容量,或是缩减应用程序的大小。接下来介绍两个缩减应用程序大小的编程技巧:一,通过DLL文件共享函数,二,通过-STDCALL调用缩减程序大小。磁盘的表面在物理上被划分成若干区域,划分方,分为按固定长度划分的扇区方式,以及按可变长度划分的可变长方式,在以簇为单位读写磁盘的情况下,一个簇中没有占满的空间,就只能被闲置。扇区和簇的大小需要在处理速度和存储容量之间寻找平衡。目前的计算机内存和磁盘容量都越来越大,但还是要注意节约。
标签:读取,程序,硬盘,第五章,内存,磁盘,虚拟内存,怎样 From: https://www.cnblogs.com/HYH16/p/18019852