带着需求去学习Centos:四、Linux文件系统原理
Linux的文件系统
- 计算机中的数据和硬件资源,对于Linux来一切皆是文件,这个文件指:文件和目录,块设备、管道、socket等,注意目录也是文件。
- 文件系统的基本数据单位是文件,它主要是对磁盘上面的文件进行组织管理,组织的方式不同,形成的文件系统也会不同。
- 文件系统是管理文件和目录的一套机制(方法)。
- 每一个文件,linux都会给分配两个数据结构:索引节点和目录项。
- 普通文件它在硬盘上保存的文件数据,而目录在硬盘上保存是子目录或者文件,而目录项即索引节点是一个内核的结构,它会缓存在内存中。
硬盘上的文件如何被读写的
- 磁盘读写的最小单位是扇区,扇区的大小只有512B的大小,如何每次读写的时候都是这么小的单位,会导致读写的效率非常低。
- 文件系统就把多个扇区组成了一个逻辑块,每次读写的最下单位就是逻辑块(数据块),Linux中的逻辑块的每个块的大小为4KB,也就是一次性可以读取8个扇区,这将会大大提高了磁盘的读写效率。
- 当磁盘进行格式化的时候,会被分成三个存储区域,分别为超级块、索引节点、数据块区。
- 超级块:用来存储文件系统的详细信息,包括inode/block的总量、使用量、剩余量(块个数、块大小、空闲块等),以及文件系统的格式。
- 索引节点区:用来存储索引节点。
- 数据块区: 用来存储文件或目录数据。
- 超级块和索引节点区全部加载到内存在,这样内存是撑不住的,所以只有当需要使用的时候,才会将它加载进内存,它们加载进入内存的时机是不同的。超级块:当文件系统挂载时进入内存当中;索引节点区:当文件系统被访问时进入内存中。
文件系统的类型
硬盘文件系统
- xfs(主流):单个文件的大小,而XFS可以是16TB到 8 exbibytes 的最大文件大小。
- ext4---centos6:单个文件的大小,:ext4可以是16GB到16TB。
- ext3---centos5
网络文件系统