Linux 发展历史
Linux 操作系统诞生于 1991 年,目前已经成为最流行的操作系统之一。
目前在服务器、嵌入式系统和个人计算机等多个方面得到广泛应用的操作系统。
Linux 系统创始人为 Linus Torvalds ,Linux 操作系统早期名字叫 Freax 。
Linux 的发展要素
Linux 操作系统时 UNIX 的一种典型的克隆系统。Linux 操作系统的诞生、成长和发展过程中,以下 5 个方面起到了重要作用:UNIX 操作系统、GNU 计划、POSIX 标准、Internet 网络。
UNIX 操作系统
UNIX 操作系统诞于 1969 年在 Bell 实验室诞生,它是美国贝尔实验室的 Ken Thompson 和 Dennis Rithie 在 DEC PDP-7 小型计算机系统上开发的一种分时操作系统。
UNIX 操作系统诞生初衷是 Ken Thompson 为了能在一台 PDP-7 计算机上运行星际旅行游戏。 Ken Thompson 用 BCPL 语言(通常说的 B 语言)编写的。 Dennis Rithie 用 C语言对 UNIX 操作系统进行了改写。
UNIX 是一个功能强大、性能全面、多用户、多任务的分时操作系统,从巨型计算机到不同 PC 等多种不同的平台上,都有着十分广泛的应用。
通常情况下,比较大型的系统应用,例如银行和电信部门,一般都采用固定机型的 UNIX 解决方案:在电信系统中以 SUN ( SUN 公司己经被 Oracle 公司收购)的 UNIX 系统方案居多,在民航里以 HP 的系统方案居多,在银行里以 IBM 的系统方案居多。
Linux 是一种 UNIX 的克隆系统,采用了几乎一致的系统 API 接口。特别是网络方面,二者接口的应用程序几乎完全一致。
Minix 操作系统
Minix 操作系统也是 UNIX 操作系统的一种克隆系统,它由荷兰 Amsterdam 的 Vrije 大学著名教授 Andrew S.Tanenbaum 于 1987 年开发完成。Minix 操作系统主要用于学生学习操作系统原理时的教学。在当时 Minix 操作系统在大学中是免费使用的,但是其他用途则需要收费。目前 Minix 操作系统己经全部是免费的,可以从许多 FTP 上下载,目前 Minix 3 是主流版本。
由于 Minix 操作系统提供源代码,并且与操作系统相结合,有一本高质量的书籍介绍其实现原理,在当时全世界的大学中形成了学习 Minix 操作系统的风气,Linus 刚开始就是参照此系统在 1991 年开始开发 Linux 的。
实际上,Minix 操作系统并不是很优秀,但是这个操作系统提供了 C 语言和汇编语言的源代码。而当时的 UNIX 操作系统源代码除了极少的范围外一直是保密的,Minix 操作系统对程序员来说是一个福音。为了可以让学生在一个学期内能够学完操作系统的课程, AST 保持了 Minix 操作系统的小型化,没有接受各界对 Minix 扩展的要求,而正是这个原因激发了 Linus 编写 Linux 操作系统。
POSIX 标准
POSIX ( Portable Operating System Interface for Computing Systems )是由 IEEE 和 ISO/IEC 开发的一套标准。 POSIX 标准是对 UNIX 操作系统的经验和实践的总结,对操作系统调用的服务接口进行了标准化,保证所编制的应用程序在源代码一级可以在多种操作系统上进行移植。
在 20 世纪 90 年代初,POSIX 标准的制定处于最后确定的投票阶段,而 Linux 正处于开始的诞生时期。作为一个指导性的纲领性标准, Linux 的接口与 POSIX 相兼容。
Linux 与 UNIX 的异同
Linux 是 UNIX 操作系统的一个克隆系统,没有 UNIX 就没有 Linux 。
但是,Linux 和传统的 UNIX 有很大的不同,两者之间的最大区别是关于版权方面的:Linux 是开放源代码的自由软件,而 UNIX 是对源代码实行知识产权保护的传统商业软件。
两者之间还存在如下的区别:
① UNIX 操作系统大多数是与硬件配套的,操作系统与硬件进行了绑定:而 Linux 则可运行在多种硬件平台上。
② UNIX 操作系统是一种商业软件(授权费大约为 5 万美元);而 Linux 操作提供则是一种自由软件,是免费的,并且公开源代码。
③ UNIX 的历史要比 Linux 悠久,但是 Linux 操作系统由于吸取了其他操作系统的经验,其设计思想虽然源于 UNIX 但是要优于 UNIX 。
④ 虽然 UNIX 和 Linux 都是操作系统的名称,但 UNIX 除了是一种操作系统的名称外,还作为商标,它归 SCO 所有。
⑤ Linux 的商业化版本有 Red Hat Linux 、SuSe Linux 、slakeware Linux 、国内的红旗 Linux 等,还有 Turbo Linux; UNIX 主要有 Oracle 的 Solaris , IBM 的 AIX , HP 的 HP-UX ,以及基于 x86 平台的 SCO UNIX/UNIXware 。
⑥ Linux 操作系统的内核是免费的:而 UNIX 的内核并不公开。
⑦ 在对硬件的耍求上, Linux 操作系统耍比 UNIX 耍求低,并且没有 UNIX 对硬件要求的那么苛刻:在对系统的安装难易度上, Linux 比 UNIX 容易得多;在使用上,Linux 相对没有 UNIX 那么复杂。
总体来说, Linux 操作系统无论在外观上还是在性能上都与 UNIX 相同或者比 UNIX 更好,但是 Linux 操作系统不同于 UNIX 的源代码。在功能上, Linux 仿制了 UNIX 的一部分,与 UNIX 的 System V 和 BSD UNIX 相兼容。在 UNIX 上可以运行的源代码,一般情况下在 Linux 上重新进行编译后就可以运行,甚至 BSD UNIX 的执行文件可以在 Linux 操作系统上直接运行。
操作系统类型选择和内核版本的选择
在 Linux 环境下进行程序设计,首先要选择一款适合自己的 Linux 操作系统。那么就要对常用的发行版本和 Linux 内核有简单的了解。
常见的不同公司发行的 Linux 异同
最常用的发行版本进行简单的介绍:
内核版本的选择
内核是 Linux 操作系统的最重要的部分,Linux 内核开发经过几十年的时间,其架构已经十分稳定。
Linux 内核编号形式如下所示:
主版本号 . 次版本号 . 主补丁号 . 次补丁号
例如 2.6.34.14 各数字的含义如下:
█ 第 1 个数字( 2 )是主版本号,表示第 2 大版本;
█ 第 2 个数字( 6 )是次版本号,有两个含义:既表示是 Linux 内核大版本的第 6 个小版本,同时因为 6 是偶数表示为发布版本(奇数是测试版本);
█ 第 3 个数字( 34 )是主版本补丁号,表示指定小版本的第 34 个补丁包;
█ 第 4 个数字( 14 )是次版本补丁号,表示次补丁号的第 3 个小补丁。
在安装 Linux 操作系统的时候,最好不要采用发行版本号中的小版本是奇数的内核,因为开发中的版本没有经过比较完善的测试,有一些漏洞都是未知的,有可能造成使用中不必要的麻烦。
㊨ 注意:Debian Linux 内核的版本稍有不同,如 2.6.18-3 ,可以发现多了一组数字(3),该数字是构建号。每个构建号可以增加少量新的驱动程序或缺陷修复。