本章节中,主要讲诉内存与磁盘的密切关系。首先,我们先来考虑一下这几个话题。存储程序的方式是什么?使用内存来提高访问速度的机制叫什么?将磁盘的部分模拟成内存来使用的机制叫什么?在PC中,硬盘的1个扇区大小一般为多少个字节?等等这一系列的问题。其实我以前都接触过这样的问题,以前呢,只是知道这个东西是什么就行了,老师也没让过多的了解其中的主对刚开始提出的问题进行解释。第一,计算机的存储方式是将程序存放在存储器中并依次执行的方式。第二,使用内存来提高访问速度的机制叫硬盘缓存。第三,将磁盘的部分模拟成内存来使用的机制叫虚拟内存。第四,在PC中,硬盘的1个扇区大小一般为512个字节。从存储程序指令数据的角度来看,可以说内存和磁盘的功能是一样的。在计算机的五大部件中,内存和磁盘都属于存储器要意思。总而言之,背会了就行,名词解释嘛,知道这个名词是什么意思就行啦。但是,现在不一样了,看完这章节,我不仅仅是知道了某些名词的意思,还知道了其中的某些原理。从存储程序指令和数据的角度来看,可以说内存和磁盘的功能是一样的。然而,程序加载道内存后才能运行。计算机中的存储器包括内存和硬盘。存储在硬盘中的程序需要先加载到内存中才能运行,不能在硬盘上直接运行。这是因为CPU在对程序内容进行解释和运行时,是通过其内部的程序计数器指定的内存地址来读取的。即便CPU能够直接读取并运行硬盘上的程序,由于磁盘读取速度慢,所以程序的运行速度也会很慢。然而,存储在磁盘上的程序需要先加载到内存后才能运行。
接下来,我们看看什么是硬盘缓存,其实呢,硬盘缓存就是一块儿内存空间,用于临时存放从硬盘读取出来的数据。下次需要读取相同的数据时,就不需要实际访问硬盘,而是从硬盘缓存中读取数据就可以了,有了磁盘缓存就能够提高硬盘速度的读取了。磁盘缓存的缓存英文是cache,意思是藏东西的地方仓库。将低速设备中的数据保存在高速设备中,当需要相同数据时,直接从高速设备中读取,这样的设计就叫做缓存。什么是虚拟内存?虚拟内存是将硬盘的一部分模拟成内存来使用的机制。硬盘缓存是将内存看成虚拟的磁盘,与之相对,虚拟内存是将磁盘看成虚拟的内存。什么是固态硬盘呢?固态硬盘就是将一种可读写的且断开电源后,内容不会丢失的散存flash作为硬盘来使用的产品。固态硬盘的本质是内存,但从用户的角度来看,它就是一块硬盘USB驱动器SD卡等,也是用散帧来存储的设备。固态硬盘和机械硬盘,它们两个相比呢?固态硬盘具有速度快,耗能低,无噪声,重量轻等优点。基于GUI,也就是图形用户界面,WINDOWS可以说是一个巨大的操作系统,作为WINDOWS前身的MS DOS操作系统,其早期版本只需要128 KB的内存就可以工作,但是想流畅的使用WINDOWS至少需要2GB的内存,而且由于WINDOWS具备多任务功能,在巨大的WINDOWS中还要同时运行多个应用程序,所以有时候即便有2GB的内存也无法流畅的运行,WINDOWS是一个时常被内存不足所困扰的操作系统,大家可能会认为有了虚拟内存,就可以解决内存不足的问题,的确,他可以解决,因为内存不足而无法启动应用程序的问题,但是虚拟内存所产生的页面换入换出操作都涉及访问低速的磁盘 。在这个过程中,应用程序会发生卡顿,当内存容量太小时,应用程序运行过程中就会看到硬盘,访问指示灯常亮,这是我们也无法对程序进行操作,因此虚拟内存并不能彻底解决内存不足问题。
要彻底解决内存不足的问题,只能增加内存容量或是缩减应用程序的大小。先可以通过DLL文件共享函数。还可以通过_stdcall调用缩减程序大小。
扇区是磁盘在物理上可读写的最小单位。WINDOWS中的磁盘,一个扇区的长度为512字节。1簇=8扇区=4kb(4096字节)
现在终于理解为什么当时选择题选4kb了,原来1簇=8扇区=4kb(4096字节)。哈哈哈哈,不错不错。