1.1.1 Linux的发展历史
1.Multics计划
20世纪60年代,那时计算机还没有普及,只有科研院所或者高校中的少数人才有机会使用计算机。当时计算机的操作系统采用批处理方式,就是把一批任务一次性提交给计算机,然后等待处理结果,并且中途不能和计算机交互。这样计算机用户的准备作业往往就需要花费很长时间,并且在这个过程中别人也不能使用计算机,这就导致了计算机资源的浪费。
为了改变这种情况,在1965年前后,贝尔实验室(Bell)、麻省理工学院(MIT)以及通用电气(GE)联合起来准备研发一个分时多任务处理系统,简单来说,就是实现多人同时使用计算机,并把这个系统取名为Multics(多路信息计算系统)。但是由于项目太复杂,加上其他原因,导致项目进展缓慢。1969年,贝尔实验室觉得这个项目可能不会成功,于是就退出了。
2.UNIX系统
贝尔实验室中有一位名为Ken Thompson的工程师,他在研发Multics的时候设计了一个运行在Multics上的叫作《星际旅行》(Space Travel)的游戏。在贝尔实验室退出Multics计划后,Thompson就没有了Multics的运行环境。为了能够继续开发游戏,他花了一个月的时间用汇编语言写出了一个小型的模仿Multics的操作系统,专门用于运行该游戏。当系统完成之后,Thompson怀着激动的心情请同事们来玩他设计的游戏。大家玩过之后纷纷表示对他的游戏不感兴趣,但是对他的系统很感兴趣。由于这个系统是在Multics的基础上开发的,因此就称为UNIX。这个时候已经是1970年了,后来就将1970年定为UNIX元年,并且在UNIX系统中将1970年1月1日0:00作为计算机时间的起点。
后来UNIX系统就在贝尔实验室内部流行开来,并且Thompson又在1972年与同事Dennis Ritchie一起用C语言重写了UNIX系统,大幅增加了其可移植性,其后UNIX系统开始蓬勃发展。
总体来讲,UNIX操作系统具有以下几个特点。
●多用户、多任务。
●强大的网络支持,具有完善的安全保护机制。
●具有强大的并行处理能力,稳定性好。
●系统源代码用C语言编写,具有较强的移植性。
在UNIX发展的早期,任何感兴趣的机构或个人只需向贝尔实验室支付一笔数目极小的名义上的费用就可以完全获得UNIX的使用权,这些使用者主要是一些大学和科研机构,他们在UNIX原有源代码的基础之上进行扩展和定制,以适应各自的需要。随着UNIX系统的不断发展,逐渐出现了一些商业化的UNIX版本,如美国加州大学伯克利分校开发的BSD、IBM公司开发的AIX以及HP公司推出的HP-UX等,后来贝尔实验室也收回了UNIX的版权,并推出了商业化版本System V。这些不同版本的系统之间展开了激烈的竞争,并且大多数系统至今也仍然在一些大型机或小型机上使用。虽然名称各异,但由于它们都是来自于UNIX,因而统称其为“类UNIX操作系统”。
3.MINIX系统
由于贝尔实验室收回了UNIX系统的版权,而且各个商业化版本的UNIX系统价格不菲,因此这就为荷兰Vrije大学讲授“操作系统原理”课程的Andrew S. Tanenbaum教授带来了诸多不便。Tanenbaum教授在1987年仿照UNIX自行设计了一款精简版的微型UNIX系统,并将之命名为MINIX,专门用于教学。
MINIX系统是免费的,至今仍然可以从许多FTP上下载到。但是它作为一款教学演示用的操作系统,功能非常简单,而Tanenbaum教授为了保持系统代码的纯洁性,拒绝了世人对MINIX功能进行扩展的要求。这限制了MINIX的发展,但同时也为别人开发其他系统提供了机会。
4.Linux系统
来自芬兰赫尔辛基大学的学生Linus Torvalds抓住了这个机会。他在MINIX系统的基础上,增加了很多功能使之完善,并于1991年将修改之后的系统发布在互联网上。任何人都可以免费下载并使用这个系统,并且Linus非常欢迎大家对这个系统进行修改和完善。这个由Linus发布的类UNIX系统就被称为Linux系统。
Linux系统采用市集式(Bazaar)的开发模式,任何人都可以参与其开发及修正的工作,这吸引了大量黑客和计算机发烧友通过Internet获取Linux系统,并返回自己对系统的改良或研发程序。这使得Linux的除错(Debug)及改版速度非常快,稳定性和效率更高,并且资源丰富。这也是Linux得以迅速发展并被人广为接受的主要原因。
经过几十年的发展,Linux目前已成为全球备受欢迎的操作系统之一。它不仅稳定可靠,而且还具有良好的兼容性和可移植性,其市场竞争力日渐增强。在云计算、大数据和人工智能等领域,Linux也占据着越来越重要的地位。