读书笔记:5.1:1.磁盘缓存指将从磁盘中读取的数据暂时保存在内存中,当需要再次读取相同的数据时,就可以不访问磁盘,而是直接从内存中快速读取。1.虚拟内存可以让内存容量小的计算机运行大型程序。.DLL是Dynamic Link Library(动态链接库)的缩写。.函数的链接方式分为静态链接和动态链接两种.扇区(sector)是磁盘的物理存储单位。
从存储程序指令和数据的角度来看,可以说内存和磁盘的功能是一样的。在计算机的五大部件油中,内存和磁盘都属于存储器。
计算机中的存储器包括内存和磁盘。存储在磁盘中的程序需要先加载到内存才能运行,不能在磁盘上直接运行。这是因为CPU在对程序内容进行解释和运行时,是通过其内部的程序计数器指定内存地址来读取程序的。
5.2;磁盘缓存田是一块内存空间,用于临时存放从磁盘读取出来的数据。下次需要读取相同的数据时,就不需要实际访问磁盘,而是从磁盘缓存中读取数据就可以了。
将低速设备中的数据保存在高速设备中,当需要相同数据时直接从高速设备中读取,这样的设计就叫作缓存。
5.3: 体现内存与磁盘密切联系的第二个例子就是虚拟内存。虚拟内存是将磁盘的一部分模拟成内存来使用的机制。磁盘缓存是将内存看成虚拟的磁盘,与之相对,虚拟内存是将磁盘看成虚拟的内存。
5.4:体现内存与磁盘密切联系的最后一个例子就是固态硬盘(。固态硬盘是将一种可读写的且断开电源后内容不会丢失的闪存作为硬盘来使用的产品。固态硬盘的本质是内存睡,但从用户的角度来看它就是-块硬盘。USB驱动器、SD卡等也是用闪存来存储的设备。
5.5:解决内存不足的问题,只能增加内存容量,或是缩减应用程序的大小。(1)通过DLL文件共享函数所谓DLL文件雅,顾名思义,就是在程序运行时进行动态链接的库(函数和数据的集合),
(2)通过_stdcal调用缩减程序大
通过_stdcall油调用缩小程序大小是C语言程序开发中的一种高级技巧。在C语言中,调用函数之后需要执行栈清理操作田。所谓栈清理探作,就是从内存里用于传递函数参数的栈空间中清理不用的数据。
对于重复执行的栈清理操作,相比放在调用方来执行,放在被调用的函数一方来执行,可以缩减程序整体的大小。这时我们就可以使用.stdcall关键字,只要将_stdcall加在函数前面,就可以指定由被调用的函数一方来执行栈清理操作。
5.6:磁盘的表面在物理上被划分成若干区域,划分方法分为按固定长度划分的扇区方式,以及按可变长度划分的可变长方式。一般PC所使用的硬盘是采用扇区方式来进行划分的。在扇区方式中,磁盘表面被划分成若干同心圆状的磁道,每条磁道再被划分成若干固定长度(存储的数据长度相等)的扇区.扇区是磁盘在物理上可读写的最小单位。Windows中的磁盘,一扇区的长度一般为512字节。