管理文件的软件,在内核中实现,将磁盘建立成文件系统后,磁盘分红两部分:元数据区和数据区元数据区主要存储跟文件数据自己无关的信息,主要有inode表,每个条目标识文件的基本属性(属组、属主、权限、时间戳、大小等)。node
目录也是个文件,可是这个文件比较独特,主要用于实现创建文件名和文件inode号之间的映射关系,经过目录能够找到某个文件的名称和inode号的对应关系。所以若是使用基于名称管理文件,首先找到目录,这个目录有这个文件,再找文件名称对应的inode。inode中记录文件所占据的磁盘块。ide
格式化完成之后,磁盘就分红大小固定的磁盘块(data blocks),这些块也是有编号的,所以文件存储在磁盘中的时候到底占据了哪些磁盘块而且存储了数据的,inode就标识文件使用了哪些磁盘块。操作系统
若是分区很大效率也不高,为了快速找到空闲inode和空闲磁盘块,引入了两种机制:inode bitmap(快速实现查找,扫描位图就知道那个inode是空闲的)和block bitmap。当块很是大的时候,数据块很是多,位图也很是大,就须要在元数据区进行分组每个块组中定义了这个组应该拥有的inode和属于这个组的块位图。it
一共有多少个组,每一个组包含哪些块呢?这些信息都包含在超级块super block中。table
磁盘编号为0的扇区不可能属于任何一个分区,成为MBR(主引导记录:bootloader 446字节,filesystem table 64字节,每16个字节引导一个主分区 2字节 )。bootloader使得某个分区能够安装并启动操做系统,MBR相当重要,有些病毒专门感染MBR,0扇区坏掉的话即便硬盘可用也无法安装操做系统。可使用dd命令备份MBR。class
除了磁盘的0扇区以外,任何一个分区中的第一个扇区(引导扇区)不会拿到直接使用,是这个分区的引导扇区。因此引导扇区有两级结构,一个是硬盘的引导扇区一个是分区的引导扇区。效率
分区为何要有引导扇区呢?多系统互存时,MBR中的bootloader中存放的是一个选择挑选的菜单引导程序,引导到相应的分区中的引导扇区。MBR中只能装一个系统引导程序,另外一个引导程序须要装所在分区的引导扇区中。软件
每个块组包含:超级块、块组描述符、数据块位图、inode位图、inode表、数据块。file
超级快并不是每一个块组中都有,dumpe2fs(-h查看全部信息)查看哪些块组中保存的super block。权限
文件系统实际上是个软件。