news 2026/6/15 12:28:55

14、Linux文件存储与访问机制解析

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
14、Linux文件存储与访问机制解析

Linux文件存储与访问机制解析

1. 页面缓存中的块存储

在Linux系统中,虚拟文件系统(VFS)、映射层和各种文件系统会将磁盘数据分组为逻辑单元,即“块”。在早期的Linux内核版本中,存在两种主要的磁盘缓存:页面缓存和缓冲区缓存。页面缓存用于存储磁盘文件内容访问产生的整个页面的磁盘数据,而缓冲区缓存则用于在内存中保存VFS访问以管理基于磁盘的文件系统的块内容。

从稳定版本2.4.10开始,缓冲区缓存实际上已不再存在。为了提高效率,块缓冲区不再单独分配,而是存储在称为“缓冲页”的专用页面中,这些缓冲页保存在页面缓存中。形式上,缓冲页是与称为“缓冲区头”的附加描述符相关联的数据页,其主要目的是快速定位页面中每个单独块的磁盘地址。因为存储在页面缓存中的页面的数据块在磁盘上不一定是相邻的。

1.1 块缓冲区和缓冲区头

每个块缓冲区都有一个类型为buffer_head的缓冲区头描述符。该描述符包含内核处理块所需的所有信息,因此在对每个块进行操作之前,内核会检查其缓冲区头。缓冲区头的字段如下表所示:
| 类型 | 字段 | 描述 |
| ---- | ---- | ---- |
| unsigned long | b_state | 缓冲区状态标志 |
| struct buffer_head * | b_this_page | 指向缓冲页列表中的下一个元素的指针 |
| struct page * | b_page | 指向包含此块的缓冲页描述符的指针 |
| atomic_t | b_count | 块使用计数器 |
| u32 | b_size | 块

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/12 8:59:19

15、操作系统中的异步I/O、页框回收与文件系统详解

操作系统中的异步I/O、页框回收与文件系统详解 1. 异步I/O POSIX 1003.1 标准定义了一组用于异步访问文件的库函数。“异步”意味着当用户模式进程调用一个库函数来读取或写入文件时,该函数在读写操作入队后就会立即终止,甚至可能在实际的 I/O 数据传输发生之前就结束。这样…

作者头像 李华
网站建设 2026/6/14 20:34:16

终极指南:用Taskbar11彻底改造你的Windows 11任务栏

终极指南:用Taskbar11彻底改造你的Windows 11任务栏 【免费下载链接】Taskbar11 Change the position and size of the Taskbar in Windows 11 项目地址: https://gitcode.com/gh_mirrors/ta/Taskbar11 Windows 11的任务栏虽然美观,但微软限制了用…

作者头像 李华
网站建设 2026/6/15 0:54:36

抖音无水印下载终极指南:3步轻松获取高清视频

抖音无水印下载终极指南:3步轻松获取高清视频 【免费下载链接】douyin_downloader 抖音短视频无水印下载 win编译版本下载:https://www.lanzous.com/i9za5od 项目地址: https://gitcode.com/gh_mirrors/dou/douyin_downloader 还在为抖音视频上的…

作者头像 李华
网站建设 2026/6/12 20:21:09

Snipe-IT多语言配置完整指南:打造国际化IT资产管理平台

Snipe-IT多语言配置完整指南:打造国际化IT资产管理平台 【免费下载链接】snipe-it A free open source IT asset/license management system 项目地址: https://gitcode.com/GitHub_Trending/sn/snipe-it 作为一款开源的IT资产和许可证管理系统,S…

作者头像 李华
网站建设 2026/6/14 4:37:50

torchdiffeq终极指南:30分钟掌握可微ODE求解器

torchdiffeq终极指南:30分钟掌握可微ODE求解器 【免费下载链接】torchdiffeq 项目地址: https://gitcode.com/gh_mirrors/to/torchdiffeq 在深度学习与科学计算的交汇点,torchdiffeq作为PyTorch生态中的可微常微分方程求解器,正在改变…

作者头像 李华
网站建设 2026/6/13 3:38:27

PvZ Toolkit终极游戏增强工具:智能自动化完整指南

PvZ Toolkit终极游戏增强工具:智能自动化完整指南 【免费下载链接】pvztoolkit 植物大战僵尸 PC 版综合修改器 项目地址: https://gitcode.com/gh_mirrors/pv/pvztoolkit PvZ Toolkit是一款专为植物大战僵尸PC版设计的智能游戏增强工具,通过先进的…

作者头像 李华