linux 011 注释9:加载文件系统,新设计艺术团队第二版,继续第三章。3-37-------3-46

(73) 一个硬盘可以分四个区,每个区称为一个逻辑系统。每个逻辑分区里有一个文件系统,对应有一个文件根节点。被用来挂载逻辑分区根节点的系统称为根文件系统。以下图片给出文件系统中的概念与含义:

在这里插入图片描述

  • 真正的 linux 系统上用的文件系统如下:

在这里插入图片描述

(74)记录下 c 库函数 memcpy 的复制方向:

在这里插入图片描述

(75)接着补充下 linux0.11 里使用的虚拟磁盘,因为软盘中的根文件系统最终加载进了内存中的虚拟磁盘区域:4M~6M 的内存区间作为了虚拟磁盘。要了解文件系统,就绕不开虚拟磁盘的初始化与读写等函数与知识:

3-37   虚拟磁盘相关,函rd_init,do_rd_request

(76)接着介绍往虚拟磁盘加载根文件系统的函数:

在这里插入图片描述

(77)接着介绍文件系统里的一些概念,超级块:

在这里插入图片描述

(78)接着复习下 c 语言中的数组初始化。很多时候我们关系数组的初值是多少,比如对磁盘超级块的初始化:

在这里插入图片描述

(79)接着介绍加载文件系统时,先加载文件系统的超级块,遇到的函数:

在这里插入图片描述

(80)以及 read_super(),本函数里有对全局 super_block [ ] 数组的初始化:

![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/e20bff46683843dc94a3bd3b9e2a4e09.jpeg

(81) 接着复习下源码中用到的 汇编指令 BT :

![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/c0cfa28ff7334f9f93e7f821d2c12aca.png

在这里插入图片描述

(82)接着介绍操作节点 inode 的函数,这些函数会被别的函数调用:

在这里插入图片描述

(83) 以及从数组里获取空节点的函数:

在这里插入图片描述

(84a) 以及释放节点的函数:

![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/994e62c2cbde4dc48fa6b232dfe1ac4c.jpeg

(84b)以及 iput 调用的 同步 sync_dev 函数:

在这里插入图片描述

(85)以及获得硬盘文件系统根节点,根目录的函数:

在这里插入图片描述

(86)接着介绍最重要的函数 mount_root ( ) ,它调用了上面的许多函数 :

在这里插入图片描述

(87)

谢谢

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值