【Linux操作系统】--理解文件系统inode

本文详细介绍了Linux操作系统中的文件系统inode,包括磁盘理解、Block group、Super Block、Group Descriptor Table、inode Table和Data Blocks、Block Bitmap和inode Bitmap等概念。讨论了软链接和硬链接的区别,以及acm属性在文件管理中的作用。通过对inode的深入理解,有助于更好地掌握Linux文件系统的管理和操作。
摘要由CSDN通过智能技术生成

目录

磁盘的理解

inode

Block group

Super Block和Group Descriptor Table

inode Table和Data Blocks

Block Bitmap和inode Bitmap

软连接和硬链接

软连接

 硬链接

acm

 acm的用处


磁盘的理解

文件=文件内容+文件属性

如果一个文件没有被打开,它的内容和属性在哪放着呢?

它们是在磁盘上放着的。磁盘是我们计算机中的一个机械设备(现在很多都是SSD,FLASH卡,USB,但是现在不考虑这些例外)。其实固态硬盘写入有固定次数,比如一万次或两万此,再写就击穿了,最后就坏掉了。

比如说有两个盘片,有四面,所以有四个磁头
盘片在寻址:我们所有的数据都在盘片上放着,都是一些硬件电路,这些硬件电路都在盘片上放好,具体在什么位置,磁头来回摆动,他在摆动的时候是在圆心和半径摆动,而盘片在不断转动,通过摆动+转动来找到磁盘上特定的位置。
磁盘中有一个扇区,一小块一小块的扇区组成了磁道,盘片是一摞的,所有的磁道加起来变成了柱面。
磁盘写入的基本单位是:扇区,一个扇区是512字节。如果我向找到磁盘中的某个扇区,那么我得先找到它属于的那个盘面,盘面和磁头一一对应,所以要找到对应的磁头,通过磁头找到磁道,通过磁道找到扇区

曾经我们用的磁带,里面的带都是缠起来的,如果它展开就是线性结构。所以我们也可以将磁盘想象成一个线性结构将它展开。展开后里面的内容都是一个一个的大数组,每个数组都是一个扇区,都是512字节 。站在OS角度,认为磁盘是线性结构。

加入磁盘的大小是1024GB,展开的线性结构大小也是1024GB.。如果我们要访问上面的某一个扇区,我们就要找到扇区对应的数组下标,我们称这个下标为LBA,LBA就是特定磁盘的地址,他是一个抽象出来的地址。

inode

那么这么大的磁盘,它的管理成本非常高

一个国家的管理需要分很多的省,同样一个大磁盘的管理需要划分很多的空间,分区就是把大磁盘变成小空间。分区要写入文件系统。就好比一个省内有很多领导来管理,如果这个领导班子没有把这个省管理好,那么就要换掉,这个就是格式化,所以格式化就是写入文件系统

所以要使用磁盘1.分区;2。格式化:写入文件系统。

我们已经把大空间分成小空间,这样空间就在我们可控范围内,我们把大磁盘分成四个小空间,也就是四个分区。用一个小空间为例,理想情况下只要管理好一块区域,那么其它区域直接复制文件系统就可以管理好,因为在计算机看来这些区域都是一样的,就相当于这四个空间的领导班子是一样的。所以只要把小空间管理好,那么大空间就可以管理好。

Block group

比如100GB空间等价于上面这个结构,其中它的结构中有Boot Block,它是与启动相关的。每个分区都有Boot Block且可能不止一个,如果每个分区都有这个Boot Block就相当于做了一个备份。而实际上100GB也很大,所以除了Boot Block,还分了许多其他的区域,分成了很多Block group0,1,2...n。所以我们可以把剩下的空间拆分成9-10个空间,此时只要把一个Block group0管理好,那么其它就可以管理好。

Super Block和Group Descriptor Table

Super Block代表的是整个Block group0空间的使用情况,包括文件系统相关的。它记录了整个分区中block group块的使用情况以及其它一些信息,那么一个block group块的super Block中包含了整个组的信息,那么每个Block group是否有必要都存在一个block group组来存放同样的信息呢?其实每个Block group组都有一个super block,为了以防磁盘被刮坏了,某一个组的super Block丢失了,这样其他组的super block就是一个备份。

而Group Descriptor Table描述的是组相关信息,比如说当前这块空间是Block Group0,那么我怎么知道这块空间是Block Group0呢,还包括了组的标识符,组有多大&#x

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值