什么是文件系统
文件系统是对常规文件和目录的组织集合
我的理解是,文件系统就相当于是一种和用户的约定,它规定了该文件系统下文件的存储方式和访问方式等,然后用户访问该文件系统下的文件,就得遵循这个约定
常规文件系统
一般文件系统的组成如上,引导块是操作系统使用的,超级块就记录了文件系统的一些信息,比如逻辑块的大小,i-node表的容量,空闲i-node的数量等等,i节点表就是记录了i-node的表,每一个文件都有与之对应的inode,数据块就是实际存储数据的地方了
然后我们是可以同时安装多个文件系统的,比如这里的每个分区都可以是不同的文件系统,但同样的,他们对文件的组织形式也不相同
日志文件系统
首先我们要清楚一个场景,就是如果我们在使用文件系统的时候出了些错,比如系统崩溃等等,而这时候你正在编写文件,没有保存,当系统恢复的时候会进行一致性检查,就是确保文件数据的一直性,比如i-node记录的信息和实际的数据不一致等等,常规文件系统的一致性检查会遍历整个文件系统,如果文件系统一大,耗费时间会很长
所以就有了日志文件系统,我的理解是,它就像日志一样把你的操作记录下来,一旦系统崩溃,系统恢复后的一致性检查会先查看这个日志,然后将没有完成的操作重做即可,不需要遍历整个文件系统
虚拟文件系统:VFS
正如我们之前所说,我们可以同时安装多个文件系统,但这也会有困扰的地方,那就是每个文件系统实现的细节不一样,使用起来自然也不一样,这时候就诞生了虚拟文件系统,这就像是一个抽象接口,它提供了统一的文件操作接口,然后对接各个文件系统,这样人们只需要使用虚拟文件系统提供的接口就行了,而不必去了解各个文件系统的差异
虚拟内存文件系统:tmpfs
前面所讲的文件系统都是在磁盘上,而虚拟内存文件系统是在内存中的,由于不涉及磁盘io,虚拟内存文件系统的访问速度是很快的,而且tmpfs除了使用内存外,他还会在内存耗尽的情况下,利用交换空间
不过,当系统崩溃时,虚拟内存文件系统的内容就会丢失,因为它是在内存中,而内存在电脑重启时,对应的硬件存储器会刷新,这也是他叫tmpfs的原因(temp file system)
网络文件系统
这个我就不了解了
标签:node,文件,文件系统,介绍,内存,简单,日志,虚拟内存 From: https://www.cnblogs.com/dylaris/p/18432008