海霞树「磁盘中存储的程序,必须要加载到内存后才能运行。在磁盘中保存的原始程序是无法直接运行的」
磁盘缓存Disk Cache指的是把从磁盘中读出的数据存储到「内存空间」中的方式。这样一来,当接下来需要读取「同一数据」时,就不用通过实际的磁盘,而是从磁盘缓存中把内容读出。
把「低速设备」的数据保存到「高速设备」中,需要时可以直接将其从高速设备中读出,这种「缓存」的方式在其他情况下也会用到。
其中一个实例就是在Web浏览器中的使用。由于Web浏览器是通过「网络」来获取「远程」Web服务器的数据并将其显示出来的。因此,在显示较大的图片等文件时,会花费不少时间。于是,Web浏览器就可以把获取的数据「暂时」保存在「磁盘」中,然后在需要时再显示磁盘中的数据。也就是,「把低速的网络数据保存到相对高速的磁盘中」。
虚拟内存Virtual Memory是指把「磁盘」的一部分作为「假想的内存」来使用。这与磁盘缓存是「假想的磁盘」(实际上是内存)相对,虚拟内存是「假想的内存」(实际上是磁盘)。
「通过借助虚拟内存,在内存不足时也可以运行程序」。为了实现虚拟内存,就必须把「实际内存」(也可称为「物理内存」)的内容,和磁盘上的虚拟内存的内容进行「部分置换」,并同时运行程序。
Windows采用的是「分页式」。该方式是指,「把运行的程序按照一定大小的页Page进行分割,并以页为单位在内存和磁盘间置换」。
在分页式中,把磁盘的内容读出到内存称为Page In,把内存的内容写入磁盘称为Page Out。
为了实现虚拟内存功能,Windows在「磁盘」上提供了虚拟内存用的页文件Page File。该文件由Windows自动做成和管理。
「DLL(Dynamic Link Library)文件」,是在程序「运行时」可以「动态」加载Library(函数和数据的集合)的文件。并且,多个应用可以「共有同一个」DLL文件。所以,「通过共有同一个DLL文件可以达到节约内存的效果」。
假设我们编写了一个具有某些处理功能的函数MyFunc(),应用A和应用B都会使用这个函数。如果函数MyFunc()是独立的DLL文件,由于同一个DLL文件的内容在运行时可以被多个应用共有,因此内存中存在的函数MyFunc()的程序就只有一个。
DLL文件还有一个优点:在不变更可执行文件的情况下,只通过升级DLL文件就可以更新。
扇区方式中,把磁盘表面分成若干个「同心圆的空间」就是「磁道」,把磁道按照「固定大小」(能存储的数据长度相同)划分而成的空间就是「扇区」。
不过,Windows在「逻辑方面」(软件方面)对磁盘就进行读写的单位是扇区的整数倍「簇」。根据磁盘容量的不同,1簇可以是512字节(1簇=1扇区)、1KB(1簇=2扇区)、2KB、4KB等。
❝「不同的文件是不能存储在同一簇中的」,否则就会导致只有一方的文件不能被删除
【学习打卡】【ELT.ZIP】OpenHarmony啃论文俱乐部——多层存储分级
FPGA实现 /
算法计算步骤及过程 /
; /
(下) /
寄望中国市场手机需求恢复!高通第二财季营收下滑17% 汽车业务增长20%
往复锯如何来回推拉 拆解博世往复锯GSA120 1100元值不值 #吃拆玩呗
【中文】为了应对太空旅游的兴起和SpaceX的快速发射,FAA正在调整航天许可方式
【特效中字】图解SpaceX星舰工厂出现的神秘组件,也许是未来星舰的维护底座?
|