Python网络编程(Linux)
上QQ阅读APP看书,第一时间看更新

1.1 Linux的诞生

Linux是一个完整的多用户、多任务的类UNIX操作系统,可以运行在如Intel、Alpha、Power PC、Sun Sparc、ARM等多种硬件平台上。

Linux操作系统的诞生、发展和成长过程始终依赖着五个重要因素:UNIX操作系统、Minix操作系统、GNU(GNU is Not Unix)计划、POSIX(Portable Operating System Interface of UNIX)标准和Internet网络。

UNIX操作系统是美国贝尔实验室的Ken Thompson和Dennis Ritchie于1969年夏在PDP7小型计算机上开发的一个分时操作系统。当时使用的是BCPL(Basic Combined Programming Language)语言,后经Dennis Ritchie于1973年用移植性很强的C语言进行了改写,使得UNIX系统在大专院校得到了推广。但从版本7后,起源于贝尔实验室的AT&T公司为了商业利益,禁止在课程中研究UNIX源代码,使得UNIX的应用范围和用户群体大为缩减。

1987年,荷兰Amsterdam的Vrije大学教授Andrew Tanenbaum为了方便教学,自己设计编写了一个在用户看来与UNIX完全兼容,但有全新内核的操作系统Minix。Minix主要是为教师进行教学研究和学生学习操作系统原理的目的而设计。为了能让学生在一个学期内就能学完并易于理解,Andrew Tanenbaum教授没有接纳全世界许多人士对Minix进行扩展的要求,而坚定保持了Minix小型化的特点。

GNU和FSF(Free Software Foundation)由Richard Stallman于1984年创办,旨在开发一个类似UNIX,并且是开放源代码,完全免费的完整操作系统,其中,GNU是GNU is Not Unix的递归缩写。到20世纪90年代初,GNU已经开发出许多高质量的自由软件,其中包括著名的Emacs编辑系统、BASH Shell程序、GCC系列编译程序、GDB调试程序等。这些软件为Linux操作系统的开发创造了一个合适的环境,是Linux能够诞生的基础之一。以至于目前许多人将Linux操作系统称为GNU/Linux操作系统。

1991年初,芬兰University of Helsinki的学生Linus Torvalds开始在一台386SX兼容微机上学习Minix操作系统。通过学习,他不再满意Minix系统的现有性能,并开始酝酿开发一个新的免费操作系统。从1991年的4月开始,Linus几乎花了全部时间研究386-Minix系统,并且尝试着移植GNU的软件(GCC、BASH、GDB等)到该系统上。到了1991年的10月5日,Linus在comp.os.minix新闻组上发布消息,正式向外宣布Linux内核系统的诞生(Free minix-like kernel sources for 386-AT)。这段消息可以称为Linux的诞生宣言,并且一直广为流传。因此,10月5日对Linux社区来说是一个特殊的日子,许多后来的Linux新版本的发布时间都选择了这个日子。

POSIX(Portable Operating System Interface for Computing Systems)是由IEEE(Institute of Electrical and Electronics Engineers)和ISO/IEC(International Organization for Standardization/International Electrotechnical Commission)开发的一簇标准。该标准基于现有的UNIX实践和经验,描述了操作系统的调用服务接口,用于保证编写的应用程序源代码可以在多种操作系统上移植运行。20世纪90年代初,POSIX标准的制定处在最后投票阶段的时间也是Linux刚刚起步的时间,使得POSIX这个为UNIX制定的标准,成了指导Linux开发的规范,导致Linux系统与UNIX系统的高度兼容。

伴随着Internet的发展,在Linus本人和许多自由软件开发者努力下,Linux不断完善,使越来越多的人认识Linux,越来越多的人使用Linux。直到现在,Linus仍然在从事Linux内核开发与维护工作。2014年,Linus获得IEEE-CS(Computer Society)计算机先驱奖(For pioneering development of the Linux kernel using the open-source approach)。