Linux 磁盘管理篇(四 目录管理(一))

版权声明: https://blog.csdn.net/ITlanyue/article/details/81904884

目录:
    当我们在linux的ext2档案建立一个目录时,ext2会分配一个inode与至少一块Block给该目录,其中inode记录该目录在相关属性,并指向分配到在那块Block,而block则会记录在这个目录下在相关联在档案(或者目录)在关联性

档案:
    当我们在linux胡ext2档案建立一个档案时,ext2会分配至少一个inode与相对于该档案大小在Block数量给该档案

inode本身并不记录文件名,而是记录档案在相关属性,文件名储存在目录所属在block区域


ext2与ext3档案在建立时,就已经设定好固定在inode数与block数目了

一个inode占用128bytes大小的内存空间
一个block号码需要4bytes大小的空间
一个block大小可以为1k,2k,4k
一个superblock大小为1k

一个inode分为文件属性权限记录去和12个直接区,一个间接区,一个双间接区,一个三间接区
所以单个文件能够储存的大小为(以每个block为1k时测试):
(12 + (1024 / 4) + (1024 / 4)^2 + (1024 / 4)^3) * 1024k = 16G

Superblock记录如下信息:
1.block与inode的总量
2.未使用block和inode的数量
3.block和inode的大小
4.文件系统的挂载时间写入数据时间...
5.一个validbit数值,如果为0则表示已挂载,如果为1则表示未挂载

当新增一个文件或者目录时:
1.先确定用户对目录是否具有w和r权限,如果有的话才可添加
2.根据inode bitmap找到没有使用的inode号码,并将新文件的权限和属性写入
3.根据block bitmap找到没有使用的block号码,并将实际的数据写入block中,且更新inode的block指向数据
4.将刚才写入的inode和block同步更新inode bitmap和block bitmap,并跟新superblock

/proc挂载点的数据都是0,这是因为它是系统数据,挂载在内存当中
/dev/shm挂载点的数据是利用内存虚拟出来的磁盘空间,所以数据访问非常快,但是系统一开机就没了

猜你喜欢

转载自blog.csdn.net/ITlanyue/article/details/81904884