当前位置:嗨网首页>书籍在线阅读

02-Linux内核的发展与演变

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

3.1 Linux内核的发展与演变

Linux操作系统是UNIX操作系统的一种克隆系统,诞生于1991年10月5日(第一次正式向外公布的时间)。Linux操作系统的诞生、发展和成长过程依赖着5个重要支柱:UNIX操作系统、Minix操作系统、GNU计划、Posix标准和Internet。

1.UNIX操作系统

UNIX 操作系统是美国贝尔实验室的Ken. Thompson和Dennis Ritchie于1969年夏在DEC PDP-7小型计算机上开发的一个分时操作系统。Linux操作系统可看作UNIX操作系统的一个克隆版本。

2.Minix操作系统

Minix操作系统也是UNIX的一种克隆系统,它于1987年由著名计算机教授Andrew S. Tanenbaum开发完成。开放源代码Minix系统的出现在全世界的大学中刮起了学习UNIX系统的旋风。Linux刚开始就是参照Minix系统于1991年才开始开发。

3.GNU计划

GNU计划和自由软件基金会(FSF)是由Richard M. Stallman于1984 年创办的,GNU是“GNU's Not UNIX”的缩写。到20世纪90年代初,GNU项目已经开发出许多高质量的免费软件,其中包括emacs 编辑系统、bash shell程序、gcc系列编译程序、gdb调试程序等。这些软件为Linux操作系统的开发创造了一个合适的环境,是Linux诞生的基础之一。没有GNU软件环境,Linux将寸步难行。因此,严格而言,“Linux”应该被称为“GNU/Linux”系统。

4.Posix标准

Posix(Portable Operating System Interface for Computing Systems,可移植的操作系统接口)是由IEEE 和ISO/IEC 开发的一组标准。该标准基于现有的UNIX实践和经验完成,描述了操作系统的调用服务接口,用于保证编制的应用程序可以在源代码一级上在多种操作系统上移植。该标准在推动Linux操作系统朝着正规化发展起着重要的作用,是Linux前进的灯塔。

5.Internet

如果没有Intenet,没有遍布全世界的无数计算机骇客的无私奉献,那么Linux最多只能发展到0.13(0.95)版的水平。从0.95版开始,对内核的许多改进和扩充均以其他人为主了,而Linus以及其他maintainer的主要任务开始变成对内核的维护和决定是否采用某个补丁程序。

表3.1描述了Linux 操作系统重要版本的变迁历史及各版本的主要特点。

表3.1 Linux 操作系统版本历史

| 版 本 | 时 间 | 特 点 | | :----- | :----- | :----- | :----- | :----- | | 0.1 | 1991.10 | 最初的原型 | | 1.0 | 1994.3 | 包含了386的官方支持,仅支持单CPU系统 | | 1.2 | 1995.3 | 第一个包含多平台(Alpha、Sparc、MIPS等)支持的官方版本 | | 2.0 | 1996.6 | 包含很多新的平台支持,最重要的是,它是第一个支持SMP(对称多处理器)体系的内核版本 | | 2.2 | 1999.1 | 极大提升SMP系统上Linux的性能,并支持更多的硬件 | | 2.4 | 2001.1 | 进一步地提升了SMP系统的扩展性,同时也集成了很多用于支持桌面系统的特性:USB、PC卡(PCMCIA)的支持,内置的即插即用等 | | 2.6 | 2003.12 | 无论是对于企业服务器还是对于嵌入式系统,Linux 2.6 都是一个巨大的进步。对高端的机器来说,新特性针对的是性能改进、可扩展性、吞吐率,以及对SMP机器 NUMA 的支持。对于嵌入式领域,添加了新的体系结构和处理器类型。包括对那些没有硬件控制的内存管理方案的MMU-less系统的支持。同样地,为了满足桌面用户群的需要,添加了一整套新的音频和多媒体驱动程序 |

从表3.1可以看出,Linux的开发一直朝着支持更多的CPU、硬件体系结构和外部设备,支持更广泛领域的应用,提供更好的性能3个方向发展。

除了Linux内核本身可提供免费下载以外,一些厂商封装了Linux内核和大量有用的软件包,制定了相应的Linux发布版,如Red Hat Linux、TurboLinux、Debian、SuSe、Ubuntu,国内的RedFlag 和xteam等。

再者,针对嵌入式系统的应用,一些改进内核的Linux被开发出来,如改进实时性的Hard Hat Linux和RTLinux、支持不含MMU CPU的mClinux(日前Linux mainline已经支持MMU-less系统)、面向数字相机和MP3等微型嵌入式设备的ThinLinux和以及颇有商业背景的MontaVista等。