学习linux―― 文件系统

 linux的文件系统

 
一、文件系统概述
 
1、硬盘的组成:硬盘可由一个或多个盘片组成。每个盘片又有多个磁道,一圈为一个磁道,磁道的多少由柱面决定。由圆心向外划直线,又把磁道划了很多个扇区。扇区是最小的存储单位,大小为512字节。盘片*柱面*扇区*512字节=硬盘容量
2、MBR:所有硬盘的分区信息都存放在MBR中。MBR在一块硬盘的0磁道上。MBR最大只能记忆四个分区。所以要想划四个分区以上,就得用扩展分区。
3、分区的文件系统格式:每个分区只能为一个格式。windows的文件系统格式为:fat32,ntfs。 linux为的ext2,ext3
4、逻辑块:硬盘的物理最小存储大小为扇区,但文件系统的最小存储单位是逻辑块。可以把一个扇区大小指定为一个块,也可以指定扇区*n为块的大小,即逻辑块是扇区的整数倍。一个逻辑块只能存一个文件。建议当文件大小比较大时,块划分大一点。文件比较小时块划分小一点。
 
 
二、linux的 ext2/ext3文件系统
 
1、ext2:由inode和块组成。inode存储文件的属性及文件所在块的索引信息,块存储文件的内容。要将分区格式化为ext2,需要指定inode和块的大小。
 
2、ext2文件系统中目录的创建:ext2文件系统创建目录时,会分给该目录一个inode和至少一个块(当目录的关联文件较多一个块放不下时,就分多个块)。inode存储目录的属性,并指引分配给目录的那个块;块存储目录的关联文件,即目录所属的文件或下级目录的关联性数据(下级文件的inode和下级目录的inode)。
 
3、ext2文件系统中文件的创建:ext2创建文件时,会分配给该文件至少一个inode和相对于该文件大小的块数量。
 
4、ext2文件系统中文件的查找过程:从inode表中找到文件所在目录的inode--->通过目录inode的指引,找到目录的块(此块中存有目录中所有文件及下级目录的关联性数据)--->通过目录块中的数据,找到文件的inode--->通过文件的inode中找文件的块所在地,然后从块从读出文件内容。即找到文件。
 
                                 目录的最大功能就是提供下级目录或言语件的关联性,即下级目录或文件的inode
 
5、ext2文件系统的分区:ext2文件系统,每个分区都有一个超级块,根据分区的大小,分为一个或多个块组。即分区为一个超级块再加一个和多个块组组成。
 
(1)超级块:记录整个分区文件块与inode的总量;未使用块和inode的数量;单个块和inode的大小;文件系统载入时间,修改时间等。
 
(2)块组:每个块组包括:组描述、块位图(记录块的使用情况)、inode位图(记录inode的使用情况),inode表(inode的存放区),数据块:块的数据存放区。
 
 
 
硬盘划分为分区,分区划分为块组。不同的分区inode号重新分配。即不同分区indoe号可以重复。同一分区inode不可重复。
 
 
三、要点及示例:
1、块与inodes在一开始格式化时就已设定好固定的数目。
2、ext2支持块大为 1024/2048/4096字节,都是扇区大小512的倍数。
3、inode的大小为128字节
4、分区能容纳的文件数与inode有关。
5、一般每4kb的硬盘空间分配一个inode.
 
例:如果一个块大小为4KB,一个文件占用两个块,大小为8KB。分区容量为1G。则inode的数量为:1024M*1024k/8k=131072(1G先换成多少K,然后再除以文件的大小,可以计算出可存放文件数)
    131072个文件就需要131072个inode. 而一个inode的大小为128字节。  所以  131072*128=16777216b=16384kb。所以如果1G的分区在还没有存任何数据前就少了16M的内容。
 
 
五、常用文件系统命令
 
1、dumpe2fs   /dev/hda1   //即可查看所在分区的信息
 
 
下接磁盘管理,与文件系统是相关联的。

你可能感兴趣的:(的,为)