磁盘与内存的亲密关系 -磁盘缓存和虚拟内存

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

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

内存和磁盘的亲密关系

1.前提

内存与磁盘都是存储部件,内存利用电流来存储、磁盘利用磁效应来存储。内存高速高价,磁盘低速廉价。

存储在磁盘中的程序必须先加载到内存中才能运行。这是因为cpu需要程序计数器指定内存地址,然后才能读出程序来运行。即使可以从磁盘中读取,程序的运行速度还是会降低。
在这里插入图片描述

2.磁盘缓存

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

windows操作系统中就提供了磁盘缓存机制,但随着硬盘访问速度的提高,磁盘缓存效果也没之前明显。

但把低速设备的数据保存在高速设备中,需要时直接从高速设备读取,这种缓存机制在其他情况下也会用到;比如cache高速缓冲存储器、标准I/O的缓冲区等。

3.虚拟内存

虚拟内存指把磁盘的一部分当做假想的内存来使用。借助虚拟内存,在内存不足时也可以运行程序;

cpu只能运行加载到内存中的程序,所以为了实现虚拟内存,就必须将实际内存的内容和磁盘上虚拟内存的内容进行置换。就相当于流水线,一边运行一边从磁盘向内存加载程序。

windows操作系统中就提供了虚拟内存机制。虚拟内存方法有分页式和分段式&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值