内存和磁盘的亲密关系
1.前提
内存与磁盘都是存储部件,内存利用电流来存储、磁盘利用磁效应来存储。内存高速高价,磁盘低速廉价。
存储在磁盘中的程序必须先加载到内存中才能运行。这是因为cpu需要程序计数器指定内存地址,然后才能读出程序来运行。即使可以从磁盘中读取,程序的运行速度还是会降低。

2.磁盘缓存
磁盘缓存指把磁盘中的数据读出并存储在内存中,这样下次再要读取相同的数据时,只需到磁盘缓存中读取,提升了磁盘数据的访问速度。

windows操作系统中就提供了磁盘缓存机制,但随着硬盘访问速度的提高,磁盘缓存效果也没之前明显。
但把低速设备的数据保存在高速设备中,需要时直接从高速设备读取,这种缓存机制在其他情况下也会用到;比如cache高速缓冲存储器、标准I/O的缓冲区等。
3.虚拟内存
虚拟内存指把磁盘的一部分当做假想的内存来使用。借助虚拟内存,在内存不足时也可以运行程序;
cpu只能运行加载到内存中的程序,所以为了实现虚拟内存,就必须将实际内存的内容和磁盘上虚拟内存的内容进行置换。就相当于流水线,一边运行一边从磁盘向内存加载程序。
windows操作系统中就提供了虚拟内存机制。虚拟内存方法有分页式和分段式&

本文介绍了内存和磁盘的关系,强调了磁盘缓存和虚拟内存的作用。磁盘缓存通过将数据存储在内存中加速数据访问,而虚拟内存则允许将磁盘部分作为内存使用,以解决内存不足的问题。讨论了如何通过DLL和_stdcall减少内存消耗,并简要描述了磁盘的物理结构。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



