Linux文件系统

概述

硬盘在分区后,还需要进行相关的格式化(format),才能被操作系统使用。

不同的操作系统具有不同的文件系统格式(filesystem)。

例如:

windows中老版本的文件系统类型为FAT(或FAT16),window2000之后有,NTFS文件系统;

linux老版本有Ext2,Ext3, Centos7后,默认使用大容量效能更佳的xfs当预设文件系统了。

文件系统特性

索引式文件系统

linux系统基于索引式文件系统。linux文件通常包含非常多的属性,如文件权限(rwx),文件属性(拥有者、群组等)。索引式文件系统通常将文件的权限和属性数据保存在inode中,实际数据保存在data block中。另外,还有一个superblock用于保存整个文件系统的整体信息。每个inode与block都有编号。具体分工如下:

  • inode:记录文件的属性,一个文件占用一个inode,同时记录此文件的数据所在的block号码。
  • block:实际记录文件的内容,若文件太大时,会占用多个block。
  • superblock:记录此filesystem的整体信息,包括inode/block的总量、使用量、剩余量,以及文件系统的格式与相关信息。

索引式文件系统读取过程

假设某一个文件的属性与权限文件放置到inode4号,而这个inode记录了文件数据的实际放置点为2,7,13,15这四个block号码,此时操作系统就能够据此来排列磁盘的阅读顺寻,可以一口气将四个block内容读出来,如图所示。

Linux文件系统_第1张图片

FAT格式:

FAT这种格式没有inode存在,所以FAT没有办法inode存在,所以FAT没有办法将这个文件的所有block在一开始就读出来。每个block号码都记录在前一个block当中,需要一个一个的将block读出后,才会知道下一个block在何处,如图所示。

Linux文件系统_第2张图片

碎片整理:

碎片整理的原因就是文件写入的block太过分散了,此时文件读取的效率很差。

碎片整理的作用就是将同一个文件所属的blocks汇整在一起,这样数据的读取就会更加容易。

相比之下,索引式文件系统,基本上不太需要经常进行碎片整理的。

 

你可能感兴趣的:(Linux基础知识学习)