Linux内核分析与应用8-文件系统

该博客是对陈莉君老师Linux内核分析与应用的学习记录,介绍了虚拟文件系统(VFS)的引入、主要数据结构、各种缓存以及页高速缓存机制和读写。涉及索引节点、文件系统类型等概念,还提出了关于文件查找、缓冲区作用等思考问题。

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

本系列是对 陈莉君 老师 Linux 内核分析与应用[1] 的学习与记录。讲的非常之好,推荐观看

留此记录,蜻蜓点水,可作抛砖引玉


alt

8.1 虚拟文件系统的引入


alt
alt

Linux文件系统中最重要的一个概念: 索引节点 Inode

alt
alt
alt

文件系统是具体到分区的,所以不同分区格式化时,可以是不同的文件系统类型

alt
alt
alt

ext2,ext3,ext4是Linux的标准文件系统,系统将其磁盘分区作为系统的根文件系统; 除此以外的文件系统则安装在根目录系统下的某个目录中,称为系统树形结构中的一个分支.


alt

VFS中的"S"是"switch"开关,而不是"system"

alt
alt

思考:

虚拟文件系统VFS与实际文件系统到底是什么关系?




8.2 虚拟文件系统(VFS)中的主要数据结构


alt
alt
alt
alt

本讲介绍了文件系统的四种对象,每个对象都对应有两个数据结构,即对象的属性和其操作方法,这是面向对象思想在文件系统设计中的一种体现.


思考:

给定一个文件名,通过文件系统的数据结构关系图,如何查找到相关的文件?请初步阅读open源代码.



8.3 虚拟文件系统(VFS)中的各种缓存


alt

在文件系统中,有四种类型的缓冲区

alt

cat /proc/meminfo

alt

alt
alt

dcache用于把路径转换为索引节点(Inode)

inode cache用于表示文件系统中的文件或目录


打开文件的核心是"查找"

  1. 查找根目录信息

  2. 循环查找路径名后续分量

alt
alt

HashTable和LRU

alt
alt
alt

Buffer Cache也用到了LRU

alt

alt
alt
alt

思考:

给定一个文件名,如何查找到相关的文件?继续阅读open的源代码,并说明缓冲区到底起什么作用



8.4 页高速缓存机制以及读写


alt

大小是2的n次方个扇区,如1k,2k,4k,4M等

alt
alt
alt

alt

延迟写技术

alt

思考:

请分析从一个文件读取数据的过程,page cache到底起什么作用?



参考资料

[1]

Linux 内核分析与应用: https://next.xuetangx.com/course/XIYOU08091001441/1516763

本文由 mdnice 多平台发布

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值