找Linux操作系统的发展历史。。。
Linux操作系统的诞生1981年,IBM推出了享誉世界的微型计算机IBM PC。在1981-1991年间,MS-DOS操作系统一直是微机上占统治地位的操作系统。此时,虽然计算机硬件的价格在逐年降低,但软件的价格仍然很高。当时苹果的MACs操作系统可以说是性能最好的,但其天价也不是轻易可以接近的。到1991年,GNU项目已经开发了许多工具和软件。最令人期待的Gnu C编译器已经出现,但是还没有开发出免费的Gnu操作系统。甚至MINIX也开始有了版权,需要购买才能获得源代码。GNU操作系统HURD一直在开发中,但不可能在几年内完成。对莱纳斯来说,它不能等。从1991的4月份开始酝酿,着手编写自己的操作系统。起初,他的目的很简单,只是想学习一下Intel 386架构保护模式下的编程技术。但是后来Linux的发展完全改变了它的初衷。1991年初,Linus开始在一台386sx兼容的微机上学习minix操作系统。通过学习,他逐渐对minix系统的现有性能感到不满,开始开发新的免费操作系统。根据Linux在comp.os.minix新闻组上发布的消息,可以知道从学习minix系统到开发自己的Linux的过程。从1991年4月开始,Linus几乎把所有的时间都花在了研究386-minix系统(黑内核)和尝试移植GNU软件(GNU gcc、bash、gdb等)上。)到这个系统。并且在03年4月13日在comp.os.minix上发布了我已经成功将bash移植到minix上的消息,我爱不释手,离不开这个外壳软件。与Linux相关的第一条新闻发表在7月3日的comp.os.minix上,1991(当然这个时候Linux的名字还不存在,Linus当时想的可能是FREAX,英文意思是怪诞、怪物、异想天开等。).其中透露他正在开发一个Linux系统,在Linux之初,他就有过实现与POSIX(UNIX的国际标准)兼容的想法。在Linus接下来的新闻稿中(0年8月25日19965438+comp.os.minix),他问所有minix用户“你希望在minix中看到什么?”“你最想在minix上看到什么?”),其中他首次透露自己正在开发一个(免费的)386(486)操作系统,并表示这只是一个兴趣,代码不会很大,也不会像GNU那么专业。开发免费操作系统的想法从四月份就开始酝酿了。希望大家能给我们反馈一下,minix系统中有哪些你喜欢和不喜欢的功能。由于实际和其他原因,新开发的系统一开始和minix非常相似(并且使用minix的文件系统)。并且bash(版本bash(1.08)和GCC(版本gcc(1.40)已经成功移植到新系统中,再过几个月就可以使用了。最后,Linus声明,他开发的操作系统没有使用一行minix源代码;而且由于386的任务切换特性,操作系统不可移植(无移植性),只能在硬盘上使用。Linus当时并没有考虑Linux的可移植性。但是目前Linux几乎可以运行在任何硬件架构上。6月5日,1991,Linus在comp.os.minix新闻组上发布消息,正式宣布386-at的Linux内核资源诞生。这个消息可以称之为Linux的诞生宣言,并且广为流传。所以10年6月5日对于Linux社区来说是一个特殊的日子,很多后来的Linux新版本都选择了这一天。因此,RedHat选择这个日期发布其新系统并非偶然。
Linux的命名
Linux操作系统最初并不叫Linux,但Linus把他的操作系统命名为FREAX,在英文中是怪诞、怪物、异想天开的意思。现在他把新的操作系统上传到ftp,funet。当我在fi服务器上的时候,管理员阿里·莱姆克不太喜欢这个名字。他认为既然Linus是操作系统,那就拿它的谐音Linux作为操作系统的目录吧,所以Linux这个名字就流传下来了。在莱纳斯的自传《只是为了好玩》(Just for Fun)中,莱纳斯解释道:“坦率地说,我从未想过以Linux的名字发布这款操作系统,因为这个名字有点太自负了。我为最终版本准备了什么名字?放松。事实上,内核代码中的一些早期makefiles描述如何编译源代码的文件——已经包含了“Freax”这个名字,这个名字已经存在了半年左右。但事实上,这并不重要。我当时不需要名字,因为我还没有向任何人发布内核代码。另一方面,阿里·莱姆克坚持以他自己的方式把内核代码放在ftp站点上,并且非常不喜欢Freax这个名字。他坚持要用现在的名字(Linux),我承认当时我并没有和他多争论。但这些都是他的名字。所以我可以诚实地说,我不自负,或者部分坦白地说,我没有本位主义。但我想,这也是一个好名字,将来我总能说服别人,就像我现在这样。”——莱纳斯·托沃兹《只是为了好玩》,第84-88页。
Linux的基本思想有两点:第一,一切都是文件;第二,每个软件都有明确的用途。第一个是系统中的一切都归结为一个文件,包括命令、硬件和软件设备、操作系统、进程等。对于操作系统内核来说,它们都被看作是具有各自特点或类型的文件。至于说Linux基于Unix,很大程度上是因为两者的基本思想非常相似。