posts - 87,comments - 0,views - 12157

什么是文件系统

文件系统是对常规文件和目录的组织集合

我的理解是,文件系统就相当于是一种和用户的约定,它规定了该文件系统下文件的存储方式和访问方式等,然后用户访问该文件系统下的文件,就得遵循这个约定

常规文件系统

1

一般文件系统的组成如上,引导块是操作系统使用的,超级块就记录了文件系统的一些信息,比如逻辑块的大小,i-node表的容量,空闲i-node的数量等等,i节点表就是记录了i-node的表,每一个文件都有与之对应的inode,数据块就是实际存储数据的地方了

然后我们是可以同时安装多个文件系统的,比如这里的每个分区都可以是不同的文件系统,但同样的,他们对文件的组织形式也不相同

日志文件系统

首先我们要清楚一个场景,就是如果我们在使用文件系统的时候出了些错,比如系统崩溃等等,而这时候你正在编写文件,没有保存,当系统恢复的时候会进行一致性检查,就是确保文件数据的一直性,比如i-node记录的信息和实际的数据不一致等等,常规文件系统的一致性检查会遍历整个文件系统,如果文件系统一大,耗费时间会很长

所以就有了日志文件系统,我的理解是,它就像日志一样把你的操作记录下来,一旦系统崩溃,系统恢复后的一致性检查会先查看这个日志,然后将没有完成的操作重做即可,不需要遍历整个文件系统

虚拟文件系统:VFS

2

正如我们之前所说,我们可以同时安装多个文件系统,但这也会有困扰的地方,那就是每个文件系统实现的细节不一样,使用起来自然也不一样,这时候就诞生了虚拟文件系统,这就像是一个抽象接口,它提供了统一的文件操作接口,然后对接各个文件系统,这样人们只需要使用虚拟文件系统提供的接口就行了,而不必去了解各个文件系统的差异

虚拟内存文件系统:tmpfs

前面所讲的文件系统都是在磁盘上,而虚拟内存文件系统是在内存中的,由于不涉及磁盘io,虚拟内存文件系统的访问速度是很快的,而且tmpfs除了使用内存外,他还会在内存耗尽的情况下,利用交换空间

不过,当系统崩溃时,虚拟内存文件系统的内容就会丢失,因为它是在内存中,而内存在电脑重启时,对应的硬件存储器会刷新,这也是他叫tmpfs的原因(temp file system)

网络文件系统

这个我就不了解了

posted on   Dylaris  阅读(29)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示