Linux 0.11文件系统的源码阅读总结
1.minix文件系统
对于linux 0.11内核的文件系统的开发,Linus主要参考了Andrew S.Tanenbaum 所写的《MINIX操作系统设计与实现》,使用的是其中的1.0版本的MINIX文件系统。而高速缓冲区的工作原理参见M.J.Bach的《UNIX操作系统设计》第三章内容。
通过对源代码的分析,我们可以将minix文件系统分为四个部分,如下如1-1。
●高速缓冲区的管理程序。主要实现了对硬盘等块设备进行数据高速存取的函数。
●文件系统的底层通用函数。包括文件索引节点的管理、磁盘数据块的分配和释放
以及文件名与i节点的转换算法。
●有关对文件中的数据进行读写操作的函数。包括字符设备、块设备、管道、常规
文件的读写操作,由read_write.c函数进行总调度。
●涉及到文件的系统调用接口的实现,这里主要涉及文件的打开、关闭、创建以及
文件目录等系统调用,分布在namei和inode等文件中。
图1-1 文件系统四部分之间关系图
1.1超级块
首先我们了解一下MINIX文件系统的组成,主要包括六部分。对于一个360K软盘,其各部分的分布如下图1-2所示: