文件系统的基本概念
文件系统是一种把数据组织成文件和目录的存储方式,提供了基于文件的存取接口,并通过文件权限控制访问。
存储的基本单位(物理)
扇区——硬盘的最小存储单位(Sector)。一般每个扇区存储512字节(相当于0.5kb)。
磁盘的每一面被分为很多条磁道,即表面上的一些同心圆,越接近中心,圆就越小。
而每一个磁道又按512个字节为单位划分为等分,叫做扇区。
文件存储单位(Linux下文件系统管理)
块——文件存取的最小单位。“块”的大小,最常见的是4kb,即连续八个sector组成一个block。
文件的结构
Ext*格式化分区——操作系统将自动将硬盘分成三个区域。
目录项区——存放目录下文件的列表信息。
数据区——存放文件数据。
inode区(inode table)——存放inode所包含的信息。
文件系统根据inode编号来检索数据。
目录项其实不属于文件的一部分,它应该被归纳在文件系统中。
关于inode
inode——“索引节点”,存储文件的元信息,比如文件的创建者、文件的创建日期、文件的大小等等。
每个inode都有一个号码,操作系统用innode号码来识别不用的文件。
ls -i #查看innode号
inode节点大小——一般是123字节或256字节。inode节点的总数,格式化时就给定,一般是每1kb或每2kb就设置一个inode。
一块1GB的硬盘中,每1kb就设置一个inode,那么inode table的大小就会达到128MB,占整块磁盘的12.8%。
系统读取文件三步曲
对一个文件进行操作,从根目录逐级开始查找,最终找到该文件对应的inode number,在inode table中进行查询,获取inode信息,根据inode信息,确定文件存储的位置。