为什么Linux在全世界范围内得到了广泛的应用,而比Linux出现得更早的Minix没有像Linux一样流行呢?
回过头看,本来unix已经在高校中流行开来,但是unix的所有者认为这种不给钱就拿来用的作法是一种侵犯版权的行为,禁止了对unix的自由研究(或者说无偿使用)。Tanenbaum教授感到没有一个实际的操作系统可以做为教学的实例,于是自已动手,和他的学生一道开发出来一个与unix兼容的微型操作系统Minix。
事后看来,Minix系统有两个硬伤。
一.它是为了教学而研发的,而不是为了实际使用而研发,所以在指导理论上有点超前,过于强调微内核的理论先进性而导致实际执行性能不高。
二.尽管很便宜,但仍然不是免费的,它随教材销售,并且没有意识到完全开源的重要意义。
linux的开创者一开始是因为没有免费的unix可用,而选择了Minix,在使用过程中对minix不满意而决定自己开发一个新操作系统。
linux与minix最大的策略区别就是:linux并不是为了讲授操作系统这门课而开发的,而是为了折腾386芯片而开发的。它是一个计算机发烧友的激情创造,并且利用互联网免费传播,顺迎了开源软件运动的潮流。真可谓时势造英雄,英雄造时势。
如果unix一开始就走上开源之路,就没有minix,linux什么事了。如果minix一开始就完全开源免费,不搞什么随书赠送那一套,并且听从网友的呼声,积极地向一个实用操作系统改进,也就没有linux什么事了。
但实事证明一个大学教授与一个计算机发烧友的思维就不在一个频道上。教授想的是传道授业解惑,让学生更好地理解操作系统,所以操作系统越简单越好,性能不是第一位考虑的。而发烧友第一考虑的是性能,至于有没有人拿这个当教学样例,他是一点都不会关心的。所以才不会受理论的限制,一定要采用什么最先进的微内核。
其实操作系统理论上的问题,或者性能上的问题都不是关键的问题,一开始做出来的操作系统都很不好用,最关键的一点是linux肯顺应网友的呼声,不断地改进,而minix却固守着教学需要,基本上不肯做改进,当minix最后转向完全开源,并且向实用操作系统转变时,历史的窗口已经关上了。
历史不可以假设,Linus 也并非先知先觉,只不过他的所作所为,顺乎了互联网发展的大潮。所谓天下大势,浩浩汤汤,顺之者昌,逆之者亡。读史至此,真让人掩卷太息。
补记之:minix最新的版本是minix3, 完全开源,并且被Intel公司改造后加入了新出产的每个CPU中。因为现在CPU也变成了一个很复杂的体系,也需要一个微操作系统进行管理。Intel选中了minix3而不是linux,Tanenbaum教授的微内核理论终于找到了用武之地。 要知道2008年以后出产的每一个Intel芯片中都内置了minix3 ,那么你,我以及世界上的广大电脑用户其实都在不知不觉地使用着minix3操作系统。