在看文件系统始终觉得有点理解不了,今天偶有所悟还是赶紧记下来为好!看文件系统时要搞清以下几点:
1.文件系统是用专门的工具来格式化的,也就是说内核中文件系统的代码是不含文件系统的初始化的。其实所谓的操作系统安装就是通过一个工具来制作文件系统然后将系统文件拷入最后再加个引导,但是这个过程比单纯的格式化要麻烦许多,因为安装时要制作根文件系统而不是仅仅格式化,但原理相似!
2.要搞明白在设备中,各种设备也是就i_node的,而这个i_node也就在安装操作系统时就被制作好的。也就是说不管我们mount也好umount也好仅仅是从硬盘目录中读i_node号就行了,并不需要来自己给设备分配结点号。
3.这也就是说各种设备文件i_mode字段中的高四位是早就在安装操作系统(制作根文件系统)时就安装好的.
4.在linux0.12根文件系统中的/dev目录下的各种设备文件是在制作根文件系统时就已经制作好的,不像高版本的可以自动更新块设备等各种设备文件的个数(不确定,不过应该是可以动态更新的^_^)!
5.在修改超级块等内存数据比硬盘上对硬盘上对应的数据多一部分时,只有在修改硬盘上存储的东西时才会置*_dirty!
6.事实证明,在linux0.12中是不支持用一个软链接指向另一个软链接的!
7.软链接中不能嵌套!