linux文件系统-ext2文件系统

文件系统的作用就是怎么管理磁盘上存储的文件,包括增删改查等,本文主要介绍ext2文件系统

1.ext2文件系统的整体布局

在这里插入图片描述
文件系统管理的单元是数据块,每个块的大小是一样的;上图中的启动块 Boot Block中存储的是磁盘分区信息和启动信息,不属于ext2文件系统,启动块之后才是文件系统的开始;ext2文件系统将整个磁盘分区划分成若干个同样大小的块组。

  1. 超级块(Super Block)

描述整个磁盘分区的信息,例如数据块的大小,文件系统版本号等;超级块在每个块组都有一份拷贝。

  1. 块组描述符表(GDT, Group Descriptor Table)

由很多块组描述符组成,分区有多少块组就有多少块组描述符;块组描述符中存储的是关于一个块组的描述信息,例如,这个块组的从哪里开始是inode表,哪里开始是数据块。

  1. 块位图(Block Bitmap)

本身占用一个块,其中每个Bit表示某一个块是否被使用,1表示被使用,0表示处于空闲

  1. inode位图(inode Bitmap)

和块位图一样,本身占用一个块;其中每一个Bit表示一个inode是否可用。

  1. inode表(inode Table)

由很多inode构成,inode中的主要信息有文件的大小、权限、位置和连接数等

2.软链接和硬链接
  1. 硬链接

硬链接是两个文件名共享同一个inode,类似与智能指针shared_ptr共享同一个计数器,每增加一个硬链接,inode硬链接数就增加1.删除一个硬链接使链接数减1;当计数器递减为0时,系统会回收这个inode和其所管理的数据块。

  1. 软链接

软链接拥有自己的inode,该inode中保存有软链接所指向文件的路径名。(如果路径名比较长,会将路径名保存在数据块中)。软链接类似于weak_ptr不会增加inode的链接数。

参考资料
  1. Linux C编程一站式学习
  2. 理解inode
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值