Linux 操作系统原理 — 内存 — Cache 和 Buffer

本文探讨了Linux操作系统中的Cache和Buffer的区别及其作用,解释了为何需要缓存以提升系统性能。Linux内核利用内存作为Page Cache,通过Write back机制实现异步更新,以减少磁盘访问。此外,文章还介绍了缓存同步机制,包括Write Through和Write back,以及Linux如何处理脏页的写回策略。

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

目录

无处不在的 Cache

限于存储介质的存取速率和成本,现代计算机的存储结构呈现为金字塔型。越往塔顶,存取效率越高、但成本也越高,所以容量也就越小。得益于程序访问的局部性原理,这种节省成本的做法也能取得不俗的运行效率。从存储器的层次结构以及计算机对数据的处理方式来看,上层一般作为下层的 Cache 层来使用(广义上的 Cache)。

比如寄存器缓存 CPU Cache 的数据,CPU Cache L1~L3 层视具体实现彼此缓存或直接缓存内存的数据,而内存往往缓存来自本地磁盘的数据。本文主要讨论磁盘 IO 操作,故只聚焦于 Local Disk 的访问特性和其与 DRAM 之间的数据交互。

Cache 和 Buffer 的区别在哪里?

Cache 和 Buffer 是两个不同的概念,简单的说,Cache 是加速 “读”,而 Buffer 是缓冲 “写”,前者解决读的问题,保存从磁盘上读出的数据,后者是解决写的问题,保存即将要写入到磁盘上的数据。在很多情况下,这两个名词并没有严格区分,常常把读写混合类型称为 buffer/ cache。

为什么需要缓存?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

范桂飓

文章对您有帮助就请一键三连:)

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值