带着需求去学习Centos:四、Linux文件系统原理

66 阅读2分钟

Linux的文件系统

  • 计算机中的数据和硬件资源,对于Linux来一切皆是文件,这个文件指:文件和目录,块设备、管道、socket等,注意目录也是文件。
  • 文件系统的基本数据单位是文件,它主要是对磁盘上面的文件进行组织管理,组织的方式不同,形成的文件系统也会不同。
  • 文件系统是管理文件和目录的一套机制(方法)。
  • 每一个文件,linux都会给分配两个数据结构:索引节点和目录项。
  • 普通文件它在硬盘上保存的文件数据,而目录在硬盘上保存是子目录或者文件,而目录项即索引节点是一个内核的结构,它会缓存在内存中。

硬盘上的文件如何被读写的

  • 磁盘读写的最小单位是扇区,扇区的大小只有512B的大小,如何每次读写的时候都是这么小的单位,会导致读写的效率非常低。
  • 文件系统就把多个扇区组成了一个逻辑块,每次读写的最下单位就是逻辑块(数据块),Linux中的逻辑块的每个块的大小为4KB,也就是一次性可以读取8个扇区,这将会大大提高了磁盘的读写效率。
  • 当磁盘进行格式化的时候,会被分成三个存储区域,分别为超级块、索引节点、数据块区。
  • 超级块:用来存储文件系统的详细信息,包括inode/block的总量、使用量、剩余量(块个数、块大小、空闲块等),以及文件系统的格式。
  • 索引节点区:用来存储索引节点。
  • 数据块区: 用来存储文件或目录数据。
  • 超级块和索引节点区全部加载到内存在,这样内存是撑不住的,所以只有当需要使用的时候,才会将它加载进内存,它们加载进入内存的时机是不同的。超级块:当文件系统挂载时进入内存当中;索引节点区:当文件系统被访问时进入内存中。

文件系统的类型

硬盘文件系统

  • xfs(主流):单个文件的大小,而XFS可以是16TB到 8 exbibytes 的最大文件大小。
  • ext4---centos6:单个文件的大小,:ext4可以是16GB到16TB。
  • ext3---centos5

网络文件系统

  • nfs
  • tfs
  • gfs
  • hdfs