Linux —— 文件系统

文件类型

  • 普通文件:又分为文本文件和二进制文件
  • 目录文件:目录文件存储了一组相关文件的位置、大小等与文件有关的信息
  • 设备文件:每一个I/O设备都是一个文件

文件命名的重要规则

  • 文件名和命令名是大小写敏感的
  • Linux 没有“文件扩展名”
  • 以 “.” 字符开头的文件名是隐藏文件。

文件系统结构

Linux系统用来存储信息的基本结构是文件,Linux系统中所有内容以文件形式保存

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

文件系统的运作

所有的数据都需加载到内存后CPU才能对该数据进行处理。

  • Linux 系统会将常用的文件放置的内存中,以提高系统性能。

  • 文件读写的异步处理,以提高系统性能。

    • 当系统加载一个文件到内存后,若该文件没有被改动过,则在内存区段的文件数据会被设定为 clean
    • 若该文件被改动过,则在内存区段的文件数据会被设定为 dirty
    • 系统会不定时地将内存中设定为 dirty 的数据写回磁盘,以保持磁盘和内存数据的一致性。

文件系统类型

索引式文件系统

所有的 block 号码都记录在 node 中,可以一次读取。操作系统能够根据 block 来排列磁盘的阅读顺序,因此只需要转一圈就能读取到文件的内容。

Linux —— 文件系统_第1张图片

堆式文件系统

每个block号码都记录在前一个block当中,需要逐个读取。如果同一个文件数据写入的block过于分散时,则我们的磁盘读取头将无法在磁盘转一圈就读到所有的数据,因此磁盘就会多转好几圈才能完整的读取到这个文件的内容!(需要进行碎片整理,将同一个文件所属的blocks汇整到一起以提高读取速度)

Linux —— 文件系统_第2张图片

你可能感兴趣的:(Linux)