本附录中接下来的内容是社区中所熟知的Tanenbaum/Linus&34;Linux已经过时的争论。Andrew Tanenbaum是一位备受尊敬的研究员,他在思考操作系统和OS设计方面取得了很好的成绩。1992年初,注意到关于Linux的讨论已经占据了comp.os.minix的讨论,他决定是时候对Linux发表评论了。
尽管Andrew Tanenbaum因其笨手笨脚和对Linux内核的误判而受到嘲笑,但对Tanenbaum的这种反应是不公平的。当莱纳斯自己听说我们要把它包括进来时,他想确保全世界都明白,他对Tanenbaum没有敌意,事实上,如果我们不能说服他,这将显示出当时世界对操作系统设计的看法,他就不会批准它的加入。
我们觉得这篇附录的收录将提供一个很好的视角,让我们了解莱纳斯处于压力之下时的情况,因为他在学术界放弃了微内核的想法。莱纳斯文章的前三分之一进一步讨论了这一点。
这场辩论的电子版可以在网上找到,也很容易通过任何搜索服务找到。阅读这篇文章并注意谁加入了讨论是一件很有趣的事情;你可以看到用户黑客肯·汤普森(Unix的创始人之一)和大卫·米勒(他现在是一名主要的Linux内核黑客),以及许多其他人。
综上所述,当这场讨论在1992年发生时,386是占主导地位的芯片,而486还没有上市。微软还是一家销售DOS和Word for DOS的小公司。Lotus123统治着电子表格领域,而WordPerect则统治着文字处理市场。DBASE是占主导地位的数据库供应商,而今天家喻户晓的许多公司--网景(Netscape)、雅虎(Yahoo)、埃克斯特(Excite)--根本就不存在。
发自:[email protected](Andy Tanenbaum)新闻组:comp.os.mini主题:Linux已过时日期:29 Jan 92 12:12:50我在美国待了几个星期,所以我没有在LINUX上发表太多评论(如果我还在,我不会说太多),但为了它的价值,我现在有几条评论。正如你们大多数人所知道的,对我来说,Minix是一个。我真正的工作是操作系统领域的教授和研究员。由于我的职业,我想我对操作系统在未来十年左右的发展方向略知一二。突出的两个方面:1.微内核与单片系统大多数较旧的操作系统都是单片的,也就是说,整个操作系统是在内核模式下运行的单个a.out文件。这个二进制文件包含进程管理、内存管理、文件系统和其他部分。这类系统的例子有UNIX、MS-DOS、VMS、MVS、OS/360、Multics等等。另一种选择是基于微内核的系统,其中大多数操作系统作为单独的进程运行,大多在内核之外。他们通过消息传递进行交流。内核的工作是处理消息传递、中断处理、低级进程管理,可能还有I/O。这种设计的例子有RC4000、Amoeba、Chorus、Mach和尚未发布的Windows/NT。虽然我可以在这里详细介绍这两种设计的相对优点,但我可以说,在实际设计操作系统的人中,争论基本上已经结束了。微内核已经赢了。单片系统唯一的真正理由是性能,现在有足够的证据表明微内核系统可以和单片系统一样快(例如,Rick Rashid发表了将Mach 3.0与单片系统进行比较的论文),现在一切都结束了,但呼声很高。而Minix是一个基于微内核的系统。文件系统和内存管理是独立的进程,在内核之外运行。I/O驱动程序也是单独的进程(在内核中,但这只是因为Intel CPU的脑死亡性质使得很难在其他情况下这样做)。Linux是一个整体式系统。这是回到20世纪70年代的一大步。这就好比用BASIC重写一个正在运行的现有C程序。对我来说,在1991年编写一个单片系统确实是个糟糕的主意。2.可移植性从前有4004CPU。当它长大后,它变成了8008。然后它接受了整形手术,成为了8080。它从8086年开始,8088年开始,8088开始,80286开始,80386开始,80486开始,以此类推,直到第N代。与此同时,RISC芯片出现了,其中一些芯片的运行速度超过了100MIPS。未来几年可能会达到200MIPS或更高的速度。这些东西不会突然消失。接下来会发生的是,他们将逐渐从80x86线接手。他们将通过在软件中解释80386来运行旧的MS-DOS程序。(我甚至编写了自己的IBM PC
发自:[email protected](David Feustel)主题:Re:Linux已过时日期:30 Jan 92 18:57:28 GMT组织:DAFCO-an OS/2 OASIS [email protected](Andy Tanenbaum)写道:我仍然认为在1991年设计一个单片内核是一个根本错误。谢天谢地你不是我的学生。这样的设计不会得到很高的分数:-)没关系。爱因斯坦的数学和物理成绩很差。
来自:[email protected](-Pete French)主题:Re:LINUX已过时日期:31 Jan 92 09:49:37 GMT组织:英国约克大学电子系在文章<;[email protected]>;,[email protected](大卫·梅金森)中说:>;>;在文章<;[email protected]>;[email protected](大卫>;Feustel)中写道:>;好的。爱因斯坦的数学和物理成绩很差。>;>;和丹·奎尔的政治学成绩都很低。我认为丹·奎尔斯比爱因斯坦更多……。;-)这是一个多么可怕的想法!但是关于微内核和单片的观点,这不是一部分正在使用的语言的人工制品吗?MINIX可以很好地设计为微内核系统,但最终您仍然会得到加载到OS中的大型二进制数据块。它不是作为单独的程序编写的,仅仅是因为C不支持在单个单片代码中执行多个进程的想法。用几个C语言编写的微内核和用Occam这样的代码编写的单片内核之间有什么真正的区别吗?我本以为在这种情况下,单片设计会比微内核风格更好,因为利用内置语言并发性的优势,内核可以比MINIX更模块化。
来自:[email protected](Ken Thompson)主题:Re:Linux已过时日期:3 Feb 92 23:07:54 GMT组织:佐治亚理工学院的观点可能在很大程度上与其有用性无关。根据最新的设计标准,即使不是大部分,也有很多我们使用的软件可能已经过时了。大多数用户可能不会在意他们使用的操作系统的内部结构是否过时。他们通常对它在用户层面的性能和功能更感兴趣。“我一般会同意微内核很可能是未来的潮流。”然而,在我看来,实现非石器时代的内核更容易。随着它的修改,它也更容易在匆忙中变得一团糟。
来自:[email protected](凯文·布朗)主题:Re:linux已过时日期:4Feb 92 08:08:42GMT组织:休斯顿大学在文章<;[email protected]>;[email protected](肯·汤普森)写道:>;观点可能在很大程度上与其有用性无关。根据>;最新的设计标准,我们使用的大多数软件很可能已经过时了。大多数用户可能不会关心他们使用的操作系统的>;内部是否过时。他们对它在用户层面的性能和功能更感兴趣,这是理所当然的。>;>;我一般会同意,微内核很可能是未来的潮流。然而,在我看来,实现一个单一的内核要容易得多。在修改时,它也更容易在匆忙中变得一团糟。构建一个单片内核的源树,以便大多数修改不会对资源产生很大的负面影响,这有多难呢?(#xA0;{##**$$}。在这种努力中,你会遇到什么样的陷阱?你有什么建议来应对这些陷阱?我猜我想问的是:组织源代码,让内核的大部分更改在范围内保持本地化有多难,即使内核本身是单一的?我想你已经有多年使用单一内核的经验:-),所以我认为你最有可能回答这样的问题。
出发地:[email protected](Randy Burns)主题:Re:Linux已过时日期:30 Jan 92 20:33:07 GMT组织:Sun Microsystems,Mt.。在文章<;[email protected]>;[email protected](安迪·塔南鲍姆)中写道:>;在文章<;[email protected]>;[email protected].>;fi(莱纳斯·本尼迪克特·托瓦尔兹)写道:5年后当然会有所不同,但5年后每个人都将在200MIPS、64MSPPS上运行免费GNU。>;事实是Linux比Minix更便携。什么?我听到你说。这是真的--但不是从这个意义上说,AAST意味着:我让Linux AS>;符合我所知道的标准(我面前没有任何POSIX标准&>t;)。通常情况下,将东西移植到Linux比将它们移植到Minix要容易得多。>;我的观点是,编写一个新的操作。
.