news 2026/3/24 4:13:06

15、Linux磁盘缓存机制解析

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
15、Linux磁盘缓存机制解析

Linux磁盘缓存机制解析

1. 磁盘缓存概述

磁盘缓存是一种软件机制,能让系统将原本存于磁盘的数据保存在RAM中,从而使后续对这些数据的访问无需再访问磁盘,可快速完成。除了VFS用于加速文件路径名转换为对应inode的dentry缓存外,Linux主要使用两种磁盘缓存:缓冲区缓存(buffer cache)和页缓存(page cache)。

缓冲区缓存由缓冲区构成,每个缓冲区存储单个磁盘块,块I/O操作依赖它来减少磁盘访问次数。而页缓存由页构成,缓存中的每页对应常规文件或块设备文件的多个块,这些块在逻辑上是连续的。在启动页I/O操作前,内核会先检查所需数据是否已存在于页缓存中,以减少磁盘访问。

<
Kernel functionSystem callCacheI/O operation
bread( )NoneBufferRead an Ext2 superblock
bread( )NoneBufferRead an Ext2 inode
generic_file_read( )getdents( )
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!