
Linux内核文件系统
文章平均质量分 87
Linux内核文件系统相关
内核程序员kevin
我是一名程序员, 专注于Linux应用程序与内核模块开发,喜欢研究各种技术。目前担任某数据安全企业架构师, 在安全软件研发和架构领域深耕近15年。
我希望能帮助更多的程序员成长。
欢迎关注我,让我们一起探讨技术,共同进步。
展开
-
Linux内核源代码分析 -- 路径查找
本文详细介绍了Linux内核中路径查找的实现机制,从`vfs_path_lookup`函数开始,逐步解析了路径查找过程中的关键函数如`path_init`、`link_path_walk`、`walk_component`和`lookup_last`。`path_init`初始化路径查找上下文并确定起始点;`link_path_walk`递归遍历路径组件,处理符号链接和特殊目录;`walk_component`负责具体路径组件的解析与查找;`lookup_last`处理路径最后一个组件原创 2024-12-03 09:20:15 · 1227 阅读 · 0 评论 -
Linux内核源代码分析 -- ramdisk内存盘
本文详细介绍了 Linux 内核中 RAM 磁盘的实现机制,包括设备的初始化、创建、关键函数的作用、设备操作接口、I/O 请求处理以及实际的读写操作。希望读者能够通过本文对 RAM 磁盘有一个全面而深入的理解。原创 2024-11-30 09:50:34 · 987 阅读 · 0 评论 -
Linux内核源代码分析:文件系统的read操作全流程
本文详细解析了Linux 6.8内核中文件系统read操作的全流程,从用户态的read()系统调用开始,经过内核态的sys_read入口函数,转至VFS层的vfs_read通用接口,最终到达具体文件系统层如ext4的实现。核心过程涉及从页缓存中读取数据,若数据不在缓存中,则通过文件系统提供的方法(如ext4_read_folio)从块设备读取并加载到页缓存。整个流程展现了Linux内核如何高效地管理文件I/O操作,通过页缓存机制将磁盘I/O转换为快速的内存操作,从而提高文件读写的性能。原创 2024-11-25 09:00:00 · 1323 阅读 · 0 评论 -
Linux内核文件系统入门--自己实现一个内存文件系统
本文介绍实现简单内存文件系统的方法,适用于需要高速访问且无需数据持久化的应用场景。基于Linux VFS,实现过程包括三步:注册新文件系统类型、实现inode操作、实现文件读写。首先,定义file_system_type结构体及挂载卸载函数;其次,创建超级块以管理文件系统状态,并生成根目录inode;最后,利用inode_operations和file_operations结构体定义文件操作接口。通过这些步骤,确保文件系统可被Linux内核正确挂载与访问。原创 2024-11-20 09:15:00 · 1522 阅读 · 3 评论 -
实战Linux内核块设备BIO--在内核中直接读写块设备
本文介绍了在Linux内核中使用BIO(Block I/O)机制直接对块设备进行读写操作的方法。首先,文章概述了BIO的基本概念及其优势,包括高效的数据管理和强大的I/O调度机制。接着,通过一个具体的内核模块示例,展示了如何创建BIO请求、设置请求参数、分配页面并复制数据至页面、将页面添加到BIO、提交BIO请求并等待完成等关键步骤。此外,还提供了一个测试脚本`test.sh`,该脚本自动完成了模块加载、测试文件创建及回环设备绑定等操作,便于验证内核模块的功能。原创 2024-11-13 09:15:00 · 1094 阅读 · 0 评论 -
深入理解Linux文件系统的挂载过程
文章详细解释了Linux文件系统挂载的每个步骤,从用户通过 mount 命令发起请求,到内核处理请求并最终完成挂载。文章还介绍了如何通过 file_system_type 结构注册文件系统类型,并通过挂载回调函数实现具体挂载操作。原创 2024-11-12 12:27:06 · 1471 阅读 · 0 评论 -
深入理解Linux内核中的虚拟文件系统(VFS)
在这篇教程中,我们深入探讨了Linux内核中的虚拟文件系统(VFS)。VFS作为抽象层,为不同类型的文件系统提供统一接口,使上层应用可以使用相同API访问文件。我们介绍了VFS的基本概念、关键数据结构(如`super_block`、`inode`、`dentry`和`file`)、VFS的回调函数与操作接口(如`file_operations`、`inode_operations`和`super_operations`),以及一个文件系统在VFS中的注册与使用流程。希望这些内容能帮助你更好地理解和应用VFS原创 2024-11-11 09:52:59 · 2749 阅读 · 0 评论 -
Linux OverlayFS 文件系统源代码深度分析
Linux OverlayFS是一个强大的联合文件系统,它通过合并多个文件系统层级来提供统一视图。OverlayFS的核心优势在于其写时复制(Copy-on-Write)机制,允许容器等环境在不直接影响底层数据的情况下进行文件操作。本文深入分析了OverlayFS的源代码,包括挂载过程、文件操作流程、关键函数实现等,揭示了其在容器技术中的应用和优化策略。通过学习,可以更好地理解OverlayFS的工作原理,提升在文件系统和容器管理方面的技能。原创 2024-11-09 21:15:00 · 1231 阅读 · 0 评论 -
Ubuntu Linux中使用Overlay文件系统创建轻量级沙箱
本文介绍在Ubuntu Linux中利用OverlayFS创建轻量级沙箱的方法。OverlayFS通过组合多个文件系统层,提供隔离的测试环境,适用于快速部署、安全测试等场景。文中详述了准备环境、创建目录、挂载文件系统、进入沙箱环境及清理过程。相比Docker,OverlayFS沙箱更轻量、灵活,适合不需要复杂管理工具的场合。原创 2024-11-08 09:15:00 · 1423 阅读 · 0 评论 -
文件系统中dentry和inode的主要作用
文件系统中dentry和inode的主要作用原创 2023-03-23 09:16:56 · 416 阅读 · 0 评论 -
文件系统中的block、superblock和struct super_block的主要作用
Linux内核 文件系统中的block、superblock和struct super_block的主要作用原创 2023-03-16 20:10:57 · 2006 阅读 · 0 评论 -
玩坏Linux内核之禁止删除文件
今天我们来在内核里做点有意思的事----禁止用户删除文件(包括root用户)原创 2023-02-25 07:16:13 · 617 阅读 · 0 评论