7.1【2020.12.12】

首先不得不说画画很好耍。

7.1的知识还是很多的,画画画了四页纸。那接下来就总结一下吧。

首先是格式化,格式化简单来说就是让我们的操作系统可以对硬盘操作。然后介绍了一个东西叫文件系统,定义我没有好好看,win98之气那使用的是FAT文件系统,2000之后用的是NTFS文件系统,EXT2是Linux用的文件系统,之后的EXT3和4都是对2的升级。

接下来就介绍了三个部分,分别是inode,block和superblock,其中inode记录了文件的属性,比如说访问权限,指向的block等等,block记录的是文件的内容,superblock记录的是文件系统的总体信息,比如说inode,block的容量等等。linux使用的ext2是索引性文件系统,不需要太多的碎片整理,但是FAT文件系统就不行,因为没有inode,所以搜索的时候使用的是一种链式结构,需要经常进行随便整理,否则读取速度会很慢。

EXT2文件系统把硬盘分成了一个boot区和很多的block 组,每个组里面有inode group ,data block等等,接下来一一介绍他们的功能。

资料区块(data block):首先说一下block大小和最大单一文件,最大文件系统容量之间的关系,block大小有1k,2k,4k几种类型,别的查表。资料区块会有一些限制,比如说在里面只能存一种文件,哪怕一个文件只有1b,只要占用了一个block,该block就不能再储存别的文件了,而且格式化完毕之后,block的大小数量等等就不能再改变,除非重新格式化。

inode 表格:inode至少需记录文件权限,所有者和所属组,文件容量,文件建立和改变时间,最近的读取时间,最近的修改时间,文件的特征,文件指向的内容。每个inode大小都是128bytes,每个文件都只占用一个inode,显然对于文件系统来说,文件数和inode数有关。由于inode里面记载了和权限有关的数据,所以它就相当于一个大门,让没有读文件权限的人不能进入。

superblock:超级区块记录的信息有block和inode的容量,inode和block的使用情况,block和inode的大小,文件系统挂载时间,最近一次写入数据的时间等等。

FilesystemDescription:描述区块开始的和结束的inode号

blockbitmap和inodebitmap:查询未使用的block和inode

建立目录:新建目录的时候,文件系统会分配一个inode和至少一个block

目录树读取:inode到block再到inode。。。 一直到找到那个文件的block为止

新建文件:首先会查找两个bitmap,分配inode和block之后在两者上面记录信息,然后更新两个bitmap

日志文件是为了解决数据不一致的情况。

文件系统的异步处理:(提升速度),内存里的数据修改过的记录为dirty,否则就是clean,系统会把dirty预先存到硬盘里,而不是到时候一块存到里面。

挂载就是把目录树和inode,block联系起来的过程。

你可能感兴趣的:(7.1【2020.12.12】)