orange's学习--第九章:把文件系统的结构写入到磁盘

进程task_fs( ),让它调用函数init_fs( ),而init_fs(  )在打开ROOT_DEV之后调用了mkfs(  ),这便是建立文件系统的函数了。

mkfs()就是在内存中简单的拼好数据结构,然后一下子写入一个扇区大小的内容。

在mk_fs(  )中,所有写入磁盘的内容都是先放进fsbuf这个缓冲区的。与通常的做法不同,我们这次没有定义一个数组,而是
定义了一个指针,让它指向0x600000,也就是说,我们指定内存地址6MB~7MB为文件系统的缓冲。

mkfs( )有一点长,它分这么几个部分:
向硬盘驱动程序索取ROOT_DEV的起始扇区和大小;
建立超级块(Super Block);  没有什么逻辑,就是结构体每个字段进行赋值。
建立inode-map;                    就是使用了几个文件的bit位
建立sector-map;                   设置使用的扇区bit位为1
写入inode_array;                  编写4个文件inode的结构体内容
建立根目录文件。                    写入4个文件的名字和inode关系

orange's学习--第九章:把文件系统的结构写入到磁盘