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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

(87)
谢谢

被折叠的 条评论
为什么被折叠?



