作者:mqfcu123 | 来源:互联网 | 2017-10-28 17:55
托瓦兹探索完了386的硬件信息,安装了类似UNIX的Minix操作系统,同时还获取了Minix的源码。接下来他要做什么呢?因为Minix的开发控制在谭邦宁教授手上,谭邦宁教授希望Minix的目的是教育,所以对Minix的开发并不是十分热衷,但是,一群人对于Minix的功能需求又很强烈,例如一些接口与外部设备的驱动程序与新的协议等。在无法快速得到解决后,托瓦兹就想,我干脆自己写一个更适合我自己用的Minix好了。于是他就开始进行核心程序的编写。
对于托瓦兹来说,GNU是一个不可多得的好工具,因为可以用它来编写属于自己的小核心,即GNU的bash操作接口与gcc编译器等自由软件。他以GNU的软件针对386机器并参考Minix的设计理念(注意,仅是程序设计理念,并没有使用Minix的源码)来编写这个小核心。没想到不但可以写出来,而且竟然可以在386机器上顺利运行,还可以读取Minix的文件系统。这还不够,托瓦兹希望获得大家对该程序的一些修改建议,于是他将这个核心放在网络上供大家下载,同时在BBS上面贴了一则消息:
Hello everybody out there using minix-I'm doing a (free) operation system (just a hobby,won't be big and professional like gnu) for 386(486) AT clones.
他说,他完成了一个好玩的小核心操作系统,这个核心是用在386机器上的,同时,他真的仅仅是为了好玩,并不是想要做一个与GNU一样大的项目。这则新闻引起了很多人的注意,他们也去托瓦兹提供的网站上下载了这个核心来安装。有趣的是,因为托瓦兹放置核心的那个FTP网站的目录为Linux,从此,大家便称这个核心为Linux了(请注意,此时的Linux就是那个核心。托瓦兹放到该目录下的第一个核心版本为0.02)。
为了让Linux能够兼容于UNIX系统,托瓦兹开始将一些能够在UNIX上运行的软件拿来在Linux上运行。他发现,有很多软件无法在Linux核心上运行。这时他有两种选择,一种是修改软件,让该软件可以在Linux上运行;另一种则是修改Linux,让Linux符合软件能够运行的规范。由于希望Linux能够兼容于UNIX,于是托瓦兹选择了第二种做法,“修改Linux”。为了让所有软件都可以在Linux上执行,托瓦兹开始参考标准的POSIX规范。
这个正确的决定让Linux在起步时就比别人优秀,因为POSIX标准主要是针对UNIX与一些软件运行时的标准规范,只要根据这些标准规范来设计的核心与软件,理论上,就可以在一起执行。Linux的开发就是根据这个POSIX的标准规范,UNIX上的软件也是遵循这个规范来设计的,如此一来,Linux就很容易与UNIX兼容共享互有的软件了。同时,因为Linux直接放在网络上供大家下载,所以流行速度相当快,导致Linux的使用率大增。这些都是造成Linux大受欢迎的重要因素。