世上本来就没有无源头的水,那么Linux的源头到底在哪里呢?是Linus Torvalds凭空想象,主观臆造出来的呢?还是另有所启发呢?笔者经过仔细研究并参考了业内专家的观点,发现原来Linus是在当时的Minix操作系统的基础上,经过修改写出了一个类似于Minix的操作系统内核。
Minix 1.0操作系统是在1987年出现的,它是世界上第一款克隆的Unix,而且全部源代码都是对外界公开的。Minix操作系统的作者Andrew S. Tanenbaum是荷兰人,1944年出生在美国纽约市,他现在是荷兰阿姆斯特丹Vrije大学的计算机科学系的教授。Tanenbaum因写出了Minix操作系统而著名,Minix 1.0刚推出的3个月时间里,就有4万多人的订阅了Minix 1.0操作系统软件,Minix的迅速发展,很快在internet上便有了专门的的新闻组comp.os.minix,当时的internet还只是使用在大学和一些研究机构之间,远远没有现在这样普及。
在早期采用Minix软件来运行PC的那批人中,就有芬兰大学生Linus Torvalds,Linus非常仔细地研究了Minix的源代码,完全吃透了其中的奥秘,在Minix成功的鼓舞下,Linus决定写自己的操作系统,据说Linus没有剽窃Minix中的任何代码,Linux内核是Linus在Minix的启发下,重新写出的内核程序代码。没有Tanenbaum写出Minix也就不会有Linus写出Linux,所以笔者认为Minix的作者Andrew S. Tanenbaum也差不多能算是Linux的祖师爷了吧?
| Andrew S. Tanenbaum教授近照 |
2005年Tanenbaum组织了一个精华的开发团队,对Minix进行了一次重要的设计层改进:把内核层源代码精简到了4000行(3000行C代码和800多行汇编代码),将往往造成85%以上系统崩溃问题的大量的驱动程序代码彻底“移出”了Minix3的内核层,需要占用Linux操作系统代码70%以上的驱动程序代码,在Minix3中则不具备内核层的执行特权,只能在用户层执行;而内核层被稳定地保护起来,仅运行“中断处理、MMU、时间分配、进程间通信”等任务,Minix3的这种有效隔离错误或Bug代码,保护特权级内核层的稳定性的设计思想,是当今的操作系统软件界重大事件,这种有利于稳定性的改变,将推动计算机操作系统的运行最终实现电视机那样可靠稳定性。相关的论文已经出现,参考构建超级稳定可靠安全的OS内核等文档。
下图表现的是Minix3中的内核新设计思想:
| Minix3引导安全稳定操作系统内核的未来 |
编者注:
◆Tanenbaum是著名的大学计算机教材《Operating Systems: Design and Implementation, ISBN 0-13-638677-6》一书的作者。
◆其他Minix3参考文档:Linux涉嫌欺世盗名 Minix v3浮出水面
◆未来面向学生的千元电脑将采用Minix3设计思想的操作系统软件。
评论
更多评论