这件事,但是现在我有一个新的想法。】
【STONE:说来听听。】
【LINUS:我觉得我们应该另外实现一个文件系统,而不是直接使用MINIX的文件系统。】
在此之前,为了降低编写代码的难度,LINUS从MINIX中借鉴了很多代码,其中最为完整的就是文件系统的实现。
【LINUS:MINIX的文件系统是专门为微内核设计的,当初在设计的时候也只考虑过教学用途,目的是为了更好的让学生理解,根本无法真正用在大型艹作系统上,在姓能上有着致命的缺陷,我想你也应该发现了这点。】
林鸿对此表示赞同。
MINIX系统在文件处理方面的效率的确有些慢了,刚开始的时候还感觉不到,但是在他编译系统的时候,就极其明显了,文件一多,搜索查找以及读取文件的效率就变得极为缓慢。在这点上,还比不上DOS系统。
MINIX的文件系统是模仿Unix的文件系统而设计的,其数据结构整体上和Unix文件系统大致相同,大致也可分为引导块、超块、柱面、节点等。
但是作者安德鲁这个系统本身是用来作为教学用的,所以在设计的时候,就考虑到要让学生能够比较容易理解,将其中的一些复杂实现就省略了,只保留了其骨架,进行适当修改之后,能够让其正常运转,并没有经过大量文件存储方面的姓能测试。
当磁盘中文件比较少的时候,根本感觉不到其中的差异。
但是,LINUS在编写LINUX艹作系统的时候,代码虽然不是很多,也就一万两千行左右,但是这一万两千行代码并不是只在一个文件里面,而是分布在多大几十个文件和上十个目录当中。
在编译系统的时候,编译器会按照编译索引文件Makefile来按照顺序对这些源代码一个一个地查找,