当前位置: 首页 > news >正文

24.文件系统

文件系统是以分区为单位,可能好几个分区,就有可能好几个文件系统。

每个组中文件内容以4kB为单位存在datablocks,其中有好几个文件块,

为什么不直接用扇区存,1是效率,2.是软件和硬件解耦考量,耦合度问题,直接用磁盘512话万一磁盘更新了,操作系统也要改 。

每个文件可以有同样类型属性,但是参数不同。inoode存属性集。

文件名有长有短一定会让inode大小浮动,如果太大inode节点变大,不能作为属性一部分存在inode。分组当中所有内容都已4kb为单位的数据块,属性放在inodetable,和存内容一样。

文件系统以一个数据块为单位,所以一次读取把全部数据块存到内存,多的可以不用。创建时间近,关联大。

不存名通过inode编号区分。

ls -l前面属性就是inode table中对应文件的属性 ls -li就能看到文件的编号

bimap对应位置1表示占用,清0表示没被占用。

删除只把位图对应位置0就行。

super block描述文件系统,每个组里有多少块有多少inode。。这样就决定了所有信息。因为组大小都是相同的。每个组里有多少块有多少inode。。就知道整个分区有多少组。位置也知道。文件系统载体是分区,我就知道整个文件系统

格式化: Superblock GDT 重写写 blockbit map inode清零 。


为什么superblock存在某组里描述所有信息而不是分区里的前面

不是所有分组都包含superblock,个别分组有,而且superblock内容完全一样, 这个影响整个文件系统,多个备份,即使坏掉可以用其他的恢复,


假设每个组1000个inode,/1000是租号,%1000是这个组哪个inode,位图就找到了,数据块也这样,

一个服务器很多盘,每个盘好几个分区,操作系统要把这些分区管理起来,先描述在组织。开机时,操作系统吧磁盘上的前四个管理信息填到内存,就比如说superblock,我们在内存申请一个superblock对象,在磁盘把该分区的superblock值拷贝到内存,初始化superblock对象。多个然后链表管理起来,然后GDT也是,。需要哪个数据块酒吧哪个加载到内存管理起来 都在内存由操作系统完成。


inode-先查inodebitmap,确定inode的合法性在inodetable对应位置找,根据inode找到,根据数组映射关系可以找到数据块。,知道inode就知道inode属性信息和数据。

通过/ % 可以知道在哪个分组 ,在哪个分区以后说


磁盘不区分文件目录,通过inode的属性区分,我么访问文件,就是先打开我所在的路径,读取对应目录。。。。看板书 ,找到inode之后在确定分组,然后bitmap。。。,(要想找到目录,也要拿到该目录的inode ,必须找到上级目录,。。。还要找上级目录最后找到/,根目录开机就被操作系统固定打开,其实是根据路径往后找inode 最后找到code.c,这叫路径解析)

维护多叉树,查看多叉树,节点有的,直接下一个,节点没有的创建,目录结构概念是内存级的,叫路径缓存


Linux为什么查找文件第一次很慢,第二次瞬间就出来了,第一次必须去硬盘一个inode 地找,第二次目录树已经完善,直接去目录中找,就找到了内存更快

dentry属于哪个inode,

parent就是父子结构关系,lru就是,dentry也会放在一个lru链表。也属于多叉树。多叉树提供路径查找功能,lru提供淘汰功能。当节点数超过 一定范围,lru执行算法进行淘汰节点。

不管路上节点,还是叶子结点都要有dentry, 所以根据路径很快就能找到inode属性了。

所以在操作系统打开一个文件创建structfile,只要记录下来这个文件对应路径,进程不是有cwd吗,就能找到这个文件的属性集合,操作系统每次查树效率太低,这个节点也属于hash,所以也可以快速查找

访问文件时候,根据路径一定可以找到指定文件inode就在文件啊系统可以找到bitmap就可以。。。但是分区怎么确定,哪个分组内部计算可以得到。拿到inode怎么能确定哪个分区,每个分区可能都有相同名inode。

一个盘云服务器分一个分区。

df -h查看挂载情况,vda1挂在在根目录下

那到底在哪个分区,这个文件如果存在一定存在某个分区,该分区一定被挂在在某个路径,我们通过路径前缀根据最近原则,确定该文件在哪个分区下。


全部串起来(文件加载的全过程):

fopen 时候我们没有路径的时候操作系统会自动给添加cwd,如果需要就要查找structdentry树,帮我们进行路径搜索,把所有的我的文件所对应的路径上面的节点全部打开,找到文件名和inode映射关系,根据路径依次搜索,找到文件的inode,根据inode找到文件对应的属性和内容,在内核当中创建struct file,struct inode,文件缓冲区,文件操作对应的表,磁盘属性加载到内存,内容部分或者全部加载到文件缓冲区里,struct file 对象对应的地址在文件描述表当中进行分配给用户返回文件描述符,用户拿这个就可以访问。


通过路径判定出是哪个分区,但并不是每一次都通过路径判定,每个节点被打开都有struct dentry,

内部有supper block 的指针。super block就代表了哪一个分区,打开文件后路径解析完他通过路径判定就是这个分区的,直接让d_sb直接回指到分区。

vfsmount就是挂载点。通过file就能找到


任何文件都有自己对应的inode,也要有自己对应的内容在datablock理存,inode在inode table里存,文件读写时一定要根据inode编号找到inode节点,根据节点找到datablock,我怎么知道datablock是谁呢

inode内部有个数据块数组

磁盘上的inode

讲的inode是读进来的 i-block数组大小是15,这是指向数据块的数组,也就是15个数据块,4*15就是60KB,所以前12个填的直接就是数据块编号,后面的是一级二级三级索引,指向4 KBblock,这个block内存指向新数据块的地址,一个数据块4字节,多了1024个新的数据块。二级索引更多

如果datablock存不下了,inode和datablock编号文件系统里是全局的,inode决定自己在哪个分组里,数据块不一定只在自己分组里,可以跨组保存。


当inode用完datablock没用完,或者反过来,所以存在浪费。


总结:

dentry找到了inode就找到了

上面那个表示进程可以找到根目录在哪里,pwd在哪。


软硬连接:

ls -li发现软连接是个独立的文件,

相当于windows下快捷方式,

以下是硬链接

inode内部有引用计数数字 几个文件名和inode映射,。就是硬链接,所以目录是2

目录里再创建个目录上个目录引用计数变3.

http://www.jsqmd.com/news/451022/

相关文章:

  • gte-base-zh嵌入模型开箱即用:快速搭建中文语义理解应用
  • Cogito 3B部署教程:GPU利用率提升50%的关键配置参数详解
  • OpenCV实现图像边缘检测:Sobel、Scharr、Laplacian与Canny算子全解析
  • OpenClaw 的爆火标志着人类文明正在经历一次深刻的主体性转移
  • Flux.1-Dev深海幻境集成Java后端:SpringBoot微服务架构设计与实现
  • 文件夹同步软件:高效管理电脑文件
  • 3大颠覆级场景:OBS高级遮罩插件让直播视觉表现力提升300%
  • 2025高效节能伺服送料机厂家推荐 产能与专利双优认证 - 爱采购寻源宝典
  • 三月八号Java笔记
  • 从零开始:手把手教你开发油猴脚本屏蔽百度广告(含完整代码解析)
  • PyRFC调用SAP BW查询参数传递完全指南:从问题诊断到性能优化
  • 利用快马AI平台,5分钟快速搭建服务器监控脚本原型
  • 2025智能数控伺服送料机厂家推荐排行榜产能、专利双维度权威解析 - 爱采购寻源宝典
  • 2026便携密封包装袋厂家推荐 产能+专利双优认证企业榜单 - 爱采购寻源宝典
  • 5G网络优化新思路:手把手教你用多智能体强化学习实现基站负载均衡
  • 2026环保耐用无纺布袋厂家综合实力排名从产能到质量权威比拼 - 爱采购寻源宝典
  • 立知lychee-rerank-mm部署教程:国产操作系统(UOS/麒麟)兼容性
  • Android音频开发避坑:为什么你的AcousticEchoCanceler不工作?常见问题与解决方案
  • 2025高级质感磨砂袋厂家推荐深圳市久信达产能与专利双优 - 爱采购寻源宝典
  • 2025节能环保送料机厂家综合实力排名(产能/专利/环保三维度对比) - 爱采购寻源宝典
  • 2026高效智能送料机厂家推荐排行榜从产能到专利的权威对比 - 爱采购寻源宝典
  • 丹青识画一文详解:OFA视觉编码器+中文LLM+书法渲染三模块协同
  • 2026定制logo磨砂袋厂家推荐 产能规模+专利技术双领先榜单 - 爱采购寻源宝典
  • 2025环保耐用磨砂袋厂家推荐 产能与专利双优实力榜单 - 爱采购寻源宝典
  • GLM-4-9B-Chat-1M如何处理百万token?技术深度解析
  • 2026节能环保送料机厂家推荐排行榜从产能规模到专利技术全方位解析 - 爱采购寻源宝典
  • 2026环保耐用磨砂袋厂家推荐 深圳市久信达科技(产能+专利+环保三强) - 爱采购寻源宝典
  • 2026节能环保自动送料机厂家推荐 产能与专利双领先榜单 - 爱采购寻源宝典
  • 2025精美定制服装包装袋厂家推荐 产能与专利双优实力榜单 - 爱采购寻源宝典
  • Qwen-Image-2512-Pixel-Art-LoRA开源模型:魔搭社区训练配置与LoRA秩设定说明