简述数学的发展史 Linux的发展历史历程是怎样的
Linux的发展历史历程是怎样的
在1981 年,IBM 公司推出了享誉全球的微型计算机IBM PC。
在1981-1991 年间,MS-DOS 操作系统一直是微型计算机操作系统的主宰。
此时计算机硬件价格虽然逐年下降,但软件价格仍然居高不下 【a】。
当时Apple 的MACs 操作系统可以说是性能最好的,但是其天价使得没人能够轻易靠近 【b】。
当时的另一个计算机技术阵营就是UNIX 世界。
但是UNIX 操作系统就不仅是价格昂贵的问题 了。
为了寻求高利润率,UNIX 经销商们把价格抬得极高,PC 小用户根本不能靠近它。
曾经一度收到Bell Labs许可而能在大学中用于教学的UNIX 源代码也一直被小心地守卫着不许公开 【c】。
对于广大的PC 用户,软件行业的大型供应商们始终没有给出有效的解决这个问题的手段。
正在此时,出现了MINIX 操作系统 【d】,并且有一本描述其设计实现原理的书 同时发行。
由于AST的这本书写的非常详细,并且叙述得有条有理,于是几乎全世界的计算机爱好者都开始看这本书,以期能理解操作系统的工作原理。
其中也包括Linux 系统的创始者Linus Benedict Torvalds。
当时(1991 年),Linus Benedict Torvalds 是赫尔辛基大学计算机科学系的二年级学生,也是一个自学的计算机hacker。
这个21岁的芬兰年轻人喜欢鼓捣他的计算机,测试计算机的性能和限制。
但当时他所缺乏的就是一个专业级的操作系统。
在同一年间,GNU 计划已经开发出了许多工具软件。
其中最受期盼的GNU C 编译器已经出现,但还没有开发出免费的GNU 操作系统。
即使是教学使用的MINIX 操作系统也开始有了版权,需要购买才能得到源代码。
虽然GNU 的操作系统HURD一直在开发之中【e】,但在当时看来不能在几年内完成。
(已经有了【a-e】,但是还没有一个os)
为了能更好地学习计算机知识(或许也只是为了兴趣),Linus 使用圣诞节的压岁钱和贷款购买了一台386 兼容电脑 ,并从美国邮购了一套MINIX 系统软件 。
就在等待MINIX 软件期间,Linus 认真学习了有关Intel 80386 的硬件知识。
为了能通过Modem 拨号连接到学校的主机上,他使用汇编语言并利用80386 CPU的多任务特性编制出一个终端仿真程序。
此后为了将自己一台老式电脑上的软件复制到新电脑上,他还为软盘驱动器、键盘等硬件设备编制出相应的驱动程序。
(他编写了一些os相关的程序)
通过编程实践,并在学习过程中认识到MINIX 系统的诸多限制(MINIX 虽然很好,但只是一个用于教学目的简单操作系统,而不是一个强有力的实用操作系统),而且通过上述实践Linus 已经有了一些类似于操作系统硬件设备驱动程序的代码,于是他开始有了编制一个新操作系统的想法。
(一个影响深远的想法诞生了)
从1991年4月份起(let take this time as thestart),他通过修改终端仿真程序和硬件驱动程序,开始编制起自己的操作系统来。
开始,他的目的很简单,只是为了学习Intel 386 体系结构保护模式运行方式下的编程技术。

但后来Linux发展却完全改变了初衷。
(起始的时间)
根据Linus 在p.os.minix 新闻组上发布的消息,我们可以知道他逐步从学MINIX 系统阶段发展到开发自己的Linux 系统的过程。
(具体了解的来源)
Linus第1次向p.os.minix 投递消息是在1991年3月29日。
所发帖子的题目是“gcc on minix-386doesn't optimize”,是有关gcc 编译器在MINIX-386 系统上运行优化的问题(由此可知,Linus在1991 年初期就已经开始深入究了MINIX 系统,并在这段时间有了改进MINIX 操作系统的思想。
在进一步学习MINIX 系统之后,这个想法逐步演变成想重新设计一个基于Intel 80386 体系结构的新操作系统的构思。
(思想的转变)
他在回答有人提出MINIX 上的一个问题时,所说的第一句话就是“阅读源代码”(“RTFSC (Read the F**ing Source Code :-)”)。
他认为答案就在源程序中。
这也说明了对于学习系统软件来说,我们不光需要懂得系统的工作基本原理,还需要结合实际系统,学习实际系统的实现方法。
因为理论毕竟是理论,其中省略了许多枝节,而这些枝节问题虽然没有太多的理论含量,但却是一个系统必要的组成部分,就象麻雀身上的一根羽毛。
(实践的重要意义)
(以下是按照时间顺序进行介绍)
从1991 年4 月 份开始,Linus 几乎花费了全部时间研究MINIX-386 系统(Hacking the kernel),并且尝试着移植GNU 的软件到该系统上(GNU gcc、bash、gdb 等)。
并于4 月13 日在p.os.minix 上发布说自己已经成功地将bash 移植到了MINIX 上,而且已经爱不释手、不能离开这个shell 软件了。
第一个与Linux 有关的消息是在1991 年7 月3日 在p.os.minix 上发布的(当然,那时还不存在Linux 这个名称,当时Linus 脑子里想的名称可能是FREAX,FREAX 的英文含义是怪诞的、怪物、异想天开等)。
其中透露了他正在进行Linux 系统的开发,并且已经想到要实现与POSIX 兼容的问题了。
在Linus 另一个发布的消息中(1991 年8 月25日 p.os.minix),他向所有MINIX 用户询问“Whatwould you like to see in minix?”(“你最想在MINIX系统中见到什么?”),在该消息中他首次透露出正在开发一个(免费的)386(486)操作系统,并且说只是兴趣而已,代码不会很大,也不会象GNU 的那样专业。
希望大家反馈一些对于MINIX 系统中喜欢哪些特色不喜欢什么等信息,并且说明由于实际和其它一些原因,新开发的系统刚开始MINIX 很象(并且使用了MINIX的文件系统)。
并且已经成功地将bash(1.08版)和gcc(1.40 版)移植到了新系统上,而且在过几个月就可以实用了。
最后,Linus 申明他开发的操作系统没有使用一行MINIX 的源代码;而且由于使用了386 的任务切换特性,所以该操作系统不好移植(没有可移植性),并且只能使用AT 硬盘。
对于Linux 的移植性问题,Linus当时并没有考虑。
但是目前Linux 几乎可以运行在任何一种硬件体系结构上。
到了1991 年的10 月5 日 ,Linus 在p.os.minix 新闻组上发布消息,正式向外宣布Linux 内核系统的诞生(Free minix-like kernel sources for 386-AT)。
这段消息可以称为Linux 的诞生宣言,并且一直广为流传。
因此10 月5 日对Linux社区来说是一个特殊的日子,许多后来Linux 的新版本发布时都选择了这个日子。
所以RedHat 公司选择这个日子发布它的新系统也不是偶然的。