liunx ext2

liunx 使用ext2 的文件系统的管理方式:

liunx 主要使用 superblock、inode,bolck的方式去管理文件系统

inode:主要存储各个文件的所有者,以及相应的权限,文件信息

block:实际文件二进制的内容存储

superblock:记录inode的使用量,block的文件使用量,等

那ext2最简单的方式是

一个文件或者目录使用一个inode,这个inode大概有128字节。其中48个字节用来存储它保存的实际文件的block节点,保存一个block的需要4字节的大小,所以48字节可以保存12个block

一个block可以设置为的大小为1k,2K,4k大小

当我们常见一个文件或者目录的时候,使用一个inode,并且分配好block来保存文件内容,但是一个inode仅仅可以保存12个block,一个block假设最大设置为4K,那么一个文件也不过保存了 12*4 = 48k的大小

根本保存不了我们平常见到的100多m的文件,那么ext2怎么解决这个问题呢,很简单,在使用一个block来保存,另外的block地址,就跟俄罗斯套娃一样,第一层block保存第二层的block的地址,那么第二层就实际可以保存,假设一个block的大小为 1k,那么可以保存 1024 / 4 = 256个第二层block的信息,如果每一层都使用用来保存新一层的信息,那么这个容量就跟树一样展开,最后一层保存的内容也可以得到极大的扩展,那么liunx 最大可以保存多少层,理论上可以无限层,但是ext2 最大只有三层。

扫描二维码关注公众号,回复: 8053180 查看本文章

而对于目录来说,则没有实际文件的说法了,那个目录是怎么跟文件关联起来的么,首先创建一个目录也创建一个inode节点和block节点,那么目录的inode基本上也是爆粗所有人,权限等一些信息啦,但是目录的block却用来保存属于它文件的文件inode的id,以及文件名称,通过目录的block来再次追踪它底下文件的inode内容。

superblock 里面保存了一些inode使用了多少个,还剩多少个,对于block的信息也如此,所以我们可以通过查询一些磁盘的总计的信息就是用superblock里面来

猜你喜欢

转载自www.cnblogs.com/wangchaodong/p/11973868.html