news 2026/8/29 5:06:43

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/8/28 23:39:41

270M参数撬动百亿终端市场:Gemma 3如何开启边缘AI普及化时代

270M参数撬动百亿终端市场:Gemma 3如何开启边缘AI普及化时代 【免费下载链接】gemma-3-270m 项目地址: https://ai.gitcode.com/hf_mirrors/unsloth/gemma-3-270m 导语 谷歌Gemma 3 270M模型以2.7亿参数实现"240MB内存占用、25次对话仅耗手机0.75%电量…

作者头像 李华
网站建设 2026/8/27 13:14:51

40亿参数撬动工业级AI:Qwen3-VL-4B-Thinking-FP8重塑多模态落地格局

40亿参数撬动工业级AI:Qwen3-VL-4B-Thinking-FP8重塑多模态落地格局 【免费下载链接】Qwen3-VL-4B-Thinking-FP8 项目地址: https://ai.gitcode.com/hf_mirrors/unsloth/Qwen3-VL-4B-Thinking-FP8 导语 阿里通义千问团队推出的Qwen3-VL-4B-Thinking-FP8模型…

作者头像 李华
网站建设 2026/8/28 4:58:00

1.7B参数横扫多模态文档解析!dots.ocr重构企业级OCR范式

1.7B参数横扫多模态文档解析!dots.ocr重构企业级OCR范式 【免费下载链接】dots.ocr 项目地址: https://ai.gitcode.com/hf_mirrors/rednote-hilab/dots.ocr 导语 2025年7月,小红书旗下AI实验室发布的dots.ocr模型以1.7B参数实现文档解析领域突破…

作者头像 李华
网站建设 2026/8/26 12:18:56

GKD订阅管理完整教程:2025年高效配置与使用指南

GKD订阅管理完整教程:2025年高效配置与使用指南 【免费下载链接】GKD_THS_List GKD第三方订阅收录名单 项目地址: https://gitcode.com/gh_mirrors/gk/GKD_THS_List GKD第三方订阅收录名单(GKD_THS_List)是一个专门为GKD用户精心打造的…

作者头像 李华
网站建设 2026/8/28 4:10:56

FF14终极插件框架:Dalamud完整开发指南与实战应用

FF14终极插件框架:Dalamud完整开发指南与实战应用 【免费下载链接】Dalamud FFXIV plugin framework and API 项目地址: https://gitcode.com/GitHub_Trending/da/Dalamud 还在为《最终幻想XIV》中繁琐的操作界面和缺失的功能而苦恼吗?Dalamud插件…

作者头像 李华
网站建设 2026/8/27 12:53:05

OpenPLC虚拟工业控制器完全实战指南

OpenPLC虚拟工业控制器完全实战指南 【免费下载链接】OpenPLC Software for the OpenPLC - an open source industrial controller 项目地址: https://gitcode.com/gh_mirrors/op/OpenPLC OpenPLC是一款革命性的开源工业控制器仿真软件,能够在Linux系统上完美…

作者头像 李华