Linux 发展史
Linux 系统的开发并不是从零开始,而是从 UNIX 继承而来,也就是说 Linux的前身是UNIX 系统。那么 UNIX 系统的开发又历经了怎样的一个过程呢,下面做个简单的介绍。
Linux前身—UNIX
在介绍Linux 之前,让我们先来了解 Linux 的前身——UNIX。回1968年Multics 项目:Multics 是一个分时操作系统,该系统开始被作为一个合资项目,是1964年由贝尔实验室、麻省理工学院及美国通用电气公司共同参与研发的,其目的是开发出一套安装在大型主机上多人多任务的操作系统,让大型主机达成提供 300个以上的终端机连线使用,后来因计划进度落后,资金短缺,项目开发失败。
1970年 UNIX 诞生:在开发 Multics 项目时,实验室中有一个成员开发了一款游戏 Star Travel,因为两个实验室相继离开项目开发,导致这名开发人员没法运行他开发的游戏,后来他提议组织人员重新在 Multics 项目之上开发,也就出现了1970年的UNIX。当时 UNIX 操作系统是使用的汇编语言(机器语言)开发的。
1973年用C语言重写 UNIX:由于汇编语言有很大的局限性,对计算机硬件过于依赖,导致移植性差,肯尼斯•蓝•汤普森和丹尼斯•里奇在1973年使用C语言重写了UNIX。
1975年UNIX用于教学:随着UNIX 系统的成熟,在1975年,贝尔实验室允许大学使用 UNIX操作系统用于教学,但不允许用于商业。
Linux 的诞生
Linux 开发的作者李纳斯 •托瓦兹,也被称作 Linux 之父,他当时是荷兰在校大学生。李纳斯所在的学校使用的就是 UNIX 操作系统,其对系统的底层代码进行了修改,并放到了学校为学生开放的网站上,把文件命名为Linus‘s Unix,后期网络管理觉得这个名字不好,自己手动将名字成 Linux。随后其他同学发现这个版本还是挺好用的,都把自己的代码贡献给了李纳斯。李纳斯在1991年完成了0.01版,在1992年完成了0.02版,在1994年完成了1.0版,在2003年完成了2.6版。
Linux 的开源文化
Linux系统是开源的操作系统,所谓开源是指开放源代码。开源文化的倡导人理查德•斯托曼,是美国自由软件运动的精神领袖、GNU计划以及自由软件基金会的创立者。作为一个著名的黑客,他最大的影响是为自由软件运动竖立道德、政治及法律框架。他被许多人誉为当今自由软件的斗士、伟大的理想主义者。
1953年,理查德•斯托曼出生于美国纽约,1974年毕业于哈佛大学物理专业后,理查德•斯托曼进入MIT 人工智能实验室做程序开发工作。1976年,美国颁布版权保护法,限制了软件的自由传播。
1976年1月,比尔•盖茨发表了著名的“公开信”,明确反对软件盗版行为,由此,微软公司兴起。对此事态发展,理查德。斯托曼感受到了精神的压抑。
1983年,理查德•斯托曼公开宣布一项称为 GNU 的计划。1984年2月,理查德•斯托曼辞去MIT 人工智能实验室的工作,以便全时间地投入GNU 计划,为 GNU 计划编写程序代码。
1985年,理查德•斯托曼发布“GNU 宣言”,公开宣称要创立一个叫作GNU 的自由操作系统,兼容 UNIX。此后不久,理查德。斯托曼设立了自由软件基金会,聘用程序员编写自由软件程序,为自由软件运动提供一个合法的框架。理查德•斯托曼心中明白,光靠一个人单干是不行的。
1991年,理查德•斯托曼去找Linus,商谈让 Linux 加入GNU 计划,后来与GNU 的成果融合成了 GNU/Linux 操作系统,其间推出了许多Linux 发行版,尤其是2004年发布的Ubuntu 发行版(属于GNU 系列),GNU 事业得以蓬勃发展至今。
从李纳斯•托瓦兹创建 Linux 以来,开源思想在软件界可谓盛极一时。简单地说,开源软件就是源代码开放的软件。只要符合开源软件定义的软件就能被称为开放源代码软件。自由软件是一个比开源软件更严格的概念,因此所有自由软件都是开放源代码的,但不是所有的开源软件都能被称为“自由”软件。开放源代码的作用是尽可能地使软件最优化,自由软件则将自由作为道德标准。
Linux 系统特点
开放性:Linux 遵循开放系统互联(Open System Interconnection, OSI)国际标准。其最大的特点是免费和开源,意味着任何人都可以获得其源代码并根据自身需求进行修改和定制。Linux 与 UNIX 系统兼容,继承了 UNIX 的许多优秀特性和技术。
多用户:Linux 支持多用户操作系统,系统资源可以被不同用户使用。每个用户对自己的资源(如文件、设备)有特定的权限,这些权限相互独立且互不影响。
多任务:Linux 能够同时执行多个程序,每个程序运行独立无干扰,相当于计算机在同一时间处理多个任务。
良好的用户界面:Linux 提供用户界面和系统调用,利用鼠标、菜单、窗口、滚动条等操作方式,为用户呈现了直观、易操作、交互性强的图形化界面。
设备独立性:在 Linux 中,所有外部设备都被统一看作文件处理。只要安装了驱动程序,用户就可以像操作文件一样使用这些设备。Linux 的内核具有高度适应能力,能够处理多种设备,提供丰富的网络功能,是其一大特点。
可靠的安全系统:Linux 采取了多种安全技术措施,包括读写控制、带保护的子系统、审计跟踪、核心授权等。这些措施为网络多用户环境中的用户提供了必要的安全保障。
良好的可移植性:Linux 具有很好的可移植性,能够从一个平台转移到另一个平台并保持其自身的运行方式。Linux 可以在从微型计算机到大型计算机的各种环境和平台上运行。