文件系统

磁盘上存储的基本单位是扇区 512字节
读取磁盘时,磁头找的是某一个面,某一个磁道,某一个扇区

 

LBA逻辑块地址

  • 3234

CHS地址

  • C:3234%1000=234 234/20=11 
  • H:3  3234/1000 
  • s:14 234%20=14

 

文件=内容+属性 都是数据 linux将内容和属性分开存储

 

内容存在block中 4kb  以快为单位,每块单位4kb

 

  • inode存属性,磁盘的另一个空间 128字节  (稳定的,以12字节为单位)
  • inode属性里有一个inode编号,一个文件,一个inode号
  • ll-i 查看inode号
  • Block Bitmnp 表示是bloc块是否被占用
  • inode Bitmnp 表示inode块是否被占用
  • GDT:有多少inode,起始的inode编号,有多少个inode被使用,有多少block被使用,还剩多少,总group,大小是多少
  • SB(super block) 文件系统的顶层数据结构
  • inode是报错文件对应的block编号

 

Linux下,文件都是用inode编号标识文件的

 

目录=内容+属性

内容为block  存的是 文件名与inode的映射关系

 

当我们创建一个文件,操作系统做了什么?

当对应的块中,在inode Bitmnp找到一个没被占用的inode,然后把对应inode由0置1,再把文件属性写入inode Tab内 此时inode Tab里的是block置0。

当要向此文件写入内容,再block Bitmnp找到没被使用的,再向Data block写入内容,再向inode Table内写入inode Tab与Datablock的映射关系,再返回inode

 

 

文件名 inode编号 -》找到自己所处目录-》根据inode-》找到目录的datablock-》将文件名和inode编号映射关系写入到目录的数据块中。

文件名再目录的数据块中,并不在inode的属性内

 

一个文件一定在一个目录下创建

 

删除一个文件,操作系统做了什么?

从文件名与inode的映射关系,找到inode,再以inode找到对应的Block group,然后将对应的Block Bitmnp和inode Bitmnp由1置0即可。

所以为什么删除比下载快很多!

 

stat  文件   (查看块位置)

 

 

软硬链接

ln -s 要链接的文件 链接后的文件 软连接

ln 要链接的文件 链接后的文件 硬连接

 

软硬链接的区别:

软链接是一个独立文件,有自己独立的inode和inode编号。

硬链接在指定的目录下给指定的文件新增文件名和inode编号的映射关系。

 

 

 软件链接一个目录下的可允许文件,然后不在m3的目录下,在其他目录下,允许此软件的文件,也可以执行此文件。软连接相当于win的桌面快捷方式。

 

 unlink 删除软硬链接

硬连接数 

ll -i查看inode数,本质是该文件inode属性中的计数器,count标记有几个文件名和我的inode1建立了映射关系

 

 

文件的硬连接数是一个,因为本身和inode有映射关系,算1。

而目录的硬连接数是两个,为什么?

目录本身就有两个硬连接数,目录内有...的隐藏文件 .指向本身的目录,所以+1个硬连接数,而目录本身和inode有映射关系+1 所以有两个 ..是指向上一个目录的文件。

 

                  

posted @ 2022-11-03 20:27  lemon-Breeze  阅读(55)  评论(0编辑  收藏  举报