MINIX对Linux

发布时间:2007-07-26 16:50:43来源:红联作者:atulations

MINIX对Linux 引人注目并非全是好事。我从不擅长处理对抗,但也被迫站出来为Linux和我的尊严辩护,因为安德鲁?塔南鲍姆不断攻击我的Linux取代了他的MINIX操作系统。我们都是网虫,所以论战是通过电子信件进行的。 他只穿着件T恤就浑身冒火,能怪谁呢?

在还没有Linux讨论组之前,我一般都是在MINIX讨论组上宣布有关Linux的信息和寻找对这个操作系统感兴趣的人。对此,安德鲁怎么会高兴呢? 所以,开始的时候,他对我入侵他的讨论组有些不快。很显然,他也很不高兴自己的操作系统正在被一个来自芬兰雪原的新发明夺去光彩,而且看来有众多的软件设计者正在加入进去。同时,他对应该如何创建操作系统持与我对立的观点。那时,安德鲁属于主张以微内核的方法建立操作系统的计算机科学家阵营。他把MINIX做成适用于微内核和Amoeba(一种他当时正在创建的也适用于微内核的系统)的形式。

适用于微内核的系统在八十年代晚期和九十年代早期十分盛行,而Linux的成功威胁到了这一运动。所以他不断地在网上帖一些难听的带攻击性的帖子。 微内核的理论依据是,操作系统是非常复杂的,所以要通过模式化来减少复杂性。微内核方法的原则,即核心的核心,是昼减少功能。它的主要功能是传播。电脑所提供的一系列不同的服务都是通过微内核的传播渠道实现的。因此,应尽量分割问题的空间,使其不再复杂。 我认为这种做法很愚蠢。 是的,每一个单独的部分是简单的,但是相互作用的多种功能如果放在一起就要复杂得多,而Linux就是后者的情况。想一想自己的大脑。每一个单独的部分都很简单,但是各部分的相互作用构成了一个复杂的系统。这是一个整体比个别更大的问题。拿一个问题来说,如果你简单地将问题一分为二,说半个问题要容易一半,那么你就忽略了一个事实,即:你必须要考虑到两个半个之间的联系所带来的复杂性。微内核的理论是,如果把核分为五十份,那么每一份都只有五十分之一的复杂性。但是每个人都忽视了一个事实,即各部分之间的联系事实上比源系统更加复杂,而且那些个别部分也不是那么简单。 这是我对微内核最重要的反驳:你想实现的简单化是错误的简单化。 开始时,Linux是一个较小的软件,而且简单得多,没有必要进行模式化。所以用Linux可以比MINIX更直截了当地做很多事。我最初发现MINIX 的缺陷是,如果你同时运行五个软件,五个软件都要读不同的文件,那么五项任务要一个一个地先后进行。

换句话说,你要向系统发出五次请求:“我可以读文件X吗?”文件系统主管读取的后台驻留程序先接受一个请求,对其进行回应,然后再接受一个,再进行回应…… Linux系统只有一个核,在这个系统之下,五个不同的过程都对核进行系统呼叫。核必须要十分小心,不会将其混淆,但是它会很自然地让各个过程各行其是。因此Linux更加快捷高效。 MINIX的另一个毛病是:尽管你有了源代码,但是许可证并不允许你做很多事情。拿布鲁斯?伊文斯来说,他对MINIX做了重大改进,使其更易在386上使用,但是他却无法将其所做的改进纳入原系统之中,因为MINIX限制人们对其进行修改。从实用的角度来说,这不啻是一个灾难。使用者哪怕为了得到一个可使用的系统都要经过多个步骤,这真是太不实用了。

linux编译minix,MINIX对Linux相关推荐

  1. linux编译安装的好处,Linux学习—源码安装

    源码安装--可以按照自己的需求安装,这是源码安装的好处,而二进制安装无法选择 大部分的源码安装步骤大致相同,具体细节可以参考解压缩之后的README和INSTALL README: 介绍了软件包的功能 ...

  2. linux编译内核支持pam,linux编译内核make menuconfig报错解决办法

    linux编译内核时 输入make menuconfig命令 *** Unable to find the ncurses libraries or the *** required header f ...

  3. 修改linux编译配置文件,Porting:linux内核编译、配置、修改配置文件、添加.c文件到内核...

    一.linux内核 $:'uname -a $:'uanme -r // 查看linux内核版本,开发板上进入linux后是一样的命令. 早起常常使用的版本:linux 2.6.x 开发板上使用的版本 ...

  4. linux编译谷歌浏览器方法,构建Linux版本的谷歌Chrome浏览器

    Chromium编译说明(Linux版) 此页描述如果在Linux操作系统上编译构建Chromium浏览器.假如你对测试chromium或想移植chromium到别的平台请你继续阅读. 小提示:目前还 ...

  5. linux编译内核报错,linux编译内核时出报错;

    因为以前已经编译了,所以就很简单的连接: [root@bache linux-2.6.29]# make defconfig *** Default configuration is based on ...

  6. Linux编译安装qt5.9,Linux CentOS7 安装 Qt 5.9.2

    Linux CentOS7 安装 Qt 5.9.2 参考链接 http://doc.qt.io/qt-5/linux.html sudo yum groupinstall "C Develo ...

  7. linux编译blas,科学网—Linux下安装blas和lapack包小记 - 徐博伦的博文

    系统是centOS6.5,机器上已有gfortran编译器 从网上搜索下载blas.cblas.lapack的tar压缩文件包 1.编译blas 先解压文件 tar xvf blas.tgz cd b ...

  8. linux编译驱动报错,Linux编译声卡驱动

    关于Linux编译声卡驱动: 惠普笔记本刚买来时,安装Debian 5,通常会遇到两个问题.一个是无线网卡驱动没有安装,一个是"带上耳机可以听歌,但是喇叭无法发声". 对于前面一个 ...

  9. 嵌入式linux编译环境搭建,嵌入式Linux开发环境搭建

    整理下嵌入式Linux开发环境搭建过程笔记. 一.制作u-boot.bin文件: tar xjf u-boot-1.1.6.tar.bz2 cd u-boot-1.1.6 patch -p1 < ...

  10. 嵌入式linux编译环境搭建,嵌入式Linux之旅——环境搭建篇之交叉编译工具的安装...

    在正式开始学习裸机程序的编写之前,我们还需要安装一下交叉编译工具.何为交叉编译工具?其实就是在x86的ubuntu主机上编译程序,并且可以运行在arm环境的编译工具.而gcc是本地编译工具,这个在我们 ...

最新文章

  1. Android wear
  2. 第一章新增例题:访问修饰符
  3. inur new.php id,Cmsez(随易)全站系统注入0day
  4. 程序详细设计之代码编写规范_我在不编写任何代码的情况下建立了一个设计策划网站
  5. 分享一篇竞品分析报告
  6. web前端技巧:如何在浏览器地址栏执行html代码
  7. OD反汇编EXE添加一个启动时的消息框
  8. Java容器-面试题
  9. linux上安装osg_Linux下编译OSG全过程
  10. Ubuntu修改键盘映射
  11. SVN客户端下载及安装
  12. 《ANSYS Workbench有限元分析实例详解(静力学)》——第1章 CAE分析步骤1.1 模型简化...
  13. 什么是Meta分析?Meta分析是什么意思?以6篇高质量文献为例,吃透Meta分析基本概念
  14. linux命令 执行间隙,linux 定时执行任务 at atq atrm命令的使用
  15. 微信开发之小程序分享设置图片标题
  16. Unity手机游戏性能优化系列:针对CPU端的性能调优
  17. d盘格式化了能正常使用吗
  18. 2念整数(5分) 题目内容: 你的程序要读入一个整数,范围是[-100000,100000]。然后,用汉语拼音将这个整数的每一位输出出来。 如输入1234,则输出: yi er san si
  19. 基于QT编写的周立功CAN,可进行uds、bootloder的上位机开发
  20. 《娱乐至死》读书笔记(part3)--无知是可以补救的,但如果我们把无知当成知识,我们该怎么做呢?

热门文章

  1. 【SpringCloud】 failed to req API:/nacos/v1/ns/instance after all servers code:500 msg Read timed out
  2. spark学习-57-Spark下Scala版HBase下的根据权重获取最真实数据
  3. 【Flink】Flink 的状态描述符 StateDescriptor operator state key state
  4. 01-贝叶斯算法(介绍)
  5. C语言分支语句与循环语句较为全面的总结,快来看呀!!
  6. Mybatis 一连串提问,被面试官吊打了!
  7. Java中static变量作用和用法详解
  8. html控制弯曲图,html – CSS3 3D弯曲视角
  9. 索引体积_第16期:索引设计(MySQL 的索引结构)
  10. android 8 ril,Android 8.0 RIL源码分析(二)