红联Linux门户
Linux帮助

Linux 的诞生

发布时间:2010-08-16 13:58:40来源:红联作者:alick
注:这是一年多之前为一门课所写的论文,今天翻阅旧物又看到了
。感觉写的还可以,就从pdf转成文本拿来分享。没有做什么修改,只是改正了
一个错别字。写在最后的话有必要的删减。2010年 08月 16日

一、简介
Linux 泛指基于 Linux 内核(kernel)的类 Unix 计算机操作系统,
狭义(最初)仅指其内核。 什么是操作系统?如果把只是硬件组合的计算机(
裸机)交给用户,那么用户要想使用 它就必须了解和掌握各种设备的工作原理
,或者说应用程序必须了解硬件的细节,而不是像 我们现已习惯的“打开那个设
备,写一个文件到那里”:这实在是件极为困难的事情。操作系 统是在硬件和应
用软件间的一个大型软件(程序),负责和计算机硬件打交道。内核是指操 作
系统中最核心的部分,主要提供系统服务、用户接口、文件系统、设备驱动等。

二、产生背景和条件
前面提到类 Unix 的说法,所以有必要先简要讲一下 Unix
的历史,这也是 Linux 产生的 大背景。Unix 最初是 1969 年 AT&T 贝尔实验
室的 Ken Thompson、Dennis Ritchie 用汇编语 言写出了的操作系统。写这个
操作系统是为了在自己的计算机 PDP-7 上玩(也是他们写的) 一个叫“太空旅
行”(Space Travelling)的游戏。后来 Ritchie 和 Brian W.Kernighan 发明了
C 语言后就用它重写了这个操作系统。C 语言是一种灵活、强大而移植性很好的
程序设计 语言,其发明的最初目的之一便是为了写出移植性好的程序(包括操
作系统)。并且 Unix 在设计之初就是“鼓励紧密沟通”的。(Ritchie 于1980
年在一个关于 Unix 的演讲中讲到: 我们要保护的不仅仅是一个可以进行程序
设计的良好环境,而是一个能围绕其形成紧密合作 和友谊的操作系统)。所以
Unix 很快被移植到各种类型的计算机中,从小型机到巨型机。 在以后的发展中
Unix 一方面其源代码对大学自由公布,另一方面 AT&T 的 Unix 版本走向商
业化,这致使出现了许许多多的 Unix 版本。为了不致过于混乱,POSIX标准被
指定。它定义 了一套标准的操作系统接口和工具。每种主要的 Unix 版本都与
这个标准兼容,在它们之间 程序可以在代码级很容易的移植。Unix 有许多优秀
的特性,如支持多用户,多进程,将一 切看作文件,配置文件以文本格式保存
。然而在 Linux 出现之前,Unix 的商业版本是相当昂 贵的。 Linux 的诞生可
以追溯到 1990 年秋。一个名叫 Linus 的芬兰年轻人在赫尔辛基大学念研 究生
,他修读的 Unix 课程使用的教材是荷兰著名教授 Andrew Tanenbaum所著的《
操作系统: 设计与实现》,实验平台是 Tanenbaum 设计的微型 Unix操作系统--
--Minix。与商业版 Unix 不同,它在你拥有上述教材的前提下是免费的,但是它
功能有限。Minix 有个很热闹的新闻 组 comp.os.minix,许多人在上面交流讨
论学习中的问题等。这是 Linux 产生的小背景。

三、产生和早期发展
这时 Linus 有了自己的 PC,他想在自己的 PC 上存取新闻
组的内容,便着手写个程序。 同时他还得为显示器、键盘等写驱动程序。另外
为了能从网上下载某些文件,他需要读写某 个磁盘,这又促使他去编写一个磁
盘驱动程序,然后是一个文件系统。这些组合起来就构成 了一个操作系统的内
核。1991 年 8 月 25 号,Linus 在 MINIX 新闻组发帖,提到了自己的工作。

帖子如下(注:正文被译成了中文,下同):
引用:

From:torvalds@klaava.Helsinki.FI (Linus Benedict Torvalds)
Newsgroups:comp.os.minix
Subject: What would you like to see most in minix?
Summary: small poll for my new operating system
Message-ID: <1991Aug25.205708.9541@klaava.Helsinki.FI>
Date: 25 Aug 91 20:57:08 GMT
Organization: University of Helsinki
Hello,各位使用 minix
的朋友, 我正在写一个基于 386(486)AT
机器的(自由)操作系统(只是出于爱好,不会做得 象 gnu
那么大、那么专业)。我从四月份开始酝酿,现在已经做得差不多了。我现在想知道
一些你们对 minix 的看法,它哪点好?哪点不好?因为我这个操作系统和
minix 多少有点儿
类似(文件系统采用同样的物理布局[因现实原因],其它方面也有类似的地方)。
我已经把 bash(1.08)和
gcc(1.40)移植过来了,而且它们运转正常。这意味着在下面几个月里,
我将给它加上更多实际的功能。所以我想知道大家都希望它有哪些功能。
欢迎多提建议,但
我不敢保证能实现你的建议 :-) Linus (torvalds@kruuna.helsinki.fi)
附:没错,它不包含任何 minix
的代码,而且它有一个多线程文件系统。它现在不能在
其它硬件上转(因为用了 386 任务切换机制,等等),而且除了 AT
硬盘,它基本上不支持 任何其它硬件。这就是全部了 :-(。

这个内核被放到了FTP 服务器上,供自由下载。它被称为 Linux 0.01。Linux
就以这样一种奇怪却又合理的方式诞生了。 10 月 5 号, 0.02 版出来了,同
时伴随着Linus 著名的声明:
引用:

From: torvalds@klaava.Helsinki.FI (Linus Benedict
Torvalds) Newsgroups: comp.os.minix Subject: Free minix-like kernel
sources for 386-AT Message-ID:
<1991Oct5.054106.4647@klaava.Helsinki.FI> Date: 5 Oct 91 05:41:06 GMT
Organization: University of Helsinki
你在怀念 minix-1.1
时代的美好时光吗?那时你自己写着驱动,充满了成就感。现在没
什么好项目可做了,是吗?你在拚命啃一个操作系统,修改它以满足你自己的需要,
是吗?

现在 minix
已经没什么需要你去改进的了,你为此怅然若失,是吗?没机会再熬通宵去改进
一个小程序了,是吗?如果是这样的话,那这个帖子就是给你的 :-)
一个月(?)前我曾经提到过,我正在一个 AT-386
机器上开发一个自由版本的、类似 minix
的操作系统。现在它终于出来了(尽管未必能满足你的期待)。我乐意把源代码公开
出来,让它传播得更广。它现在仅仅是 0.02
版(外加一个(很小的)补丁)。但是我已经 成功地在它上面跑了
bash/gcc/gnu-make/gnu-sed/compress 等程序。我这个小宝贝儿的源 程序在
nic.funet.fi (128.214.6.100) 下面的 /pub/OS/Linux
目录中可以找到。该目录 中还有些 README 文件,还有几个在 linux
下能工作的可执行文件(bash,update 和 gcc, 你还要求些什么呢
:-)。完整的内核源代码都公布在这儿了,因为里面没用到 minix 的源程
序。而函数库的源程序只是部分开源,所以目前还不能提供出来。拿到源代码后,
直接编译就行了。编译完,就能转了。哈哈。可执行程序(bash 和
gcc)的源代码可以在同一网站的 /pub/gnu 目录里找到。

Linux作为一个完全自由的软件(free software)的发布吸引了 Internet上众
多黑客 (hacker,用 Richard Stallman的话是指喜爱编程并且以精通编程为乐
的人(someone who loves to program and enjoys being clever about it))
的注意。他们对这个内核做评论、写补丁、做优化,后来证明这对 Linux 的发
展尤为重要。 Linux的发展被极大地推进。其中版本号从 0.12 直接上升到了
0.95。1994 年 3 月14 日, Linux 的第一个正式版 1.0 版发布,Linux 的讨
论区也从 Minix的讨论区中独立出来。 需要着重指出的是尽管 Linux的代码是“
拼凑”出来的(来自众多黑客),但它是符合 POSIX标准的。正因为此可以把
Linux 看作一个类 Unix 操作系统。然而仅仅一个内核不足以构成一个完整的操
作系统,绝大多数用户要进行工作,对应的应用软件是必不可少的。例如,许多
人是需要一个图形界面的,只在命令行下工作相对困难。在这方面,Linux 和
GNU软件的结合扫除了障碍,构成了一个完整的操作系统。那么什么是 GNU 呢?
理解 GNU 要从 Richard Stallman(也可被称为 RMS)这个人开始。他从 1971年
开始在 MIT 的人工智能实验室(MIT Artifical Intelligence Lab)工作。那
时软件是源代码级自由交流的。在自由交流中人们找出程序的漏洞、优化程序。
他们在一起就是一个黑客社区(hacker community)。然而到八十年代,实验室
的自由操作系统(叫ITS)被非自由的商业版本(专用软件)取代。(why?)这些
来自商业公司的专用软件的使用规则是,用RMS 的话说,”如果你把本软件和他
人共享,你就侵犯了专利权。如果你想修改本软件,恳求我们让我们去做。“(
If you share with your neighbor , you are a pirate. If you want any
changes, beg us to make them.)(商业公司没有使用这样的语言,但等价表述
的确存在,在用户需要同意的许可(license)中,写有你不得散发拷贝、不得自
行修改软件等。)RMS认为这是破坏人们之间合作的(他们的社区的确已被破坏
),在本质上导致人们的分离(而不是团结在一起),因而是完全错误的。软件
应该是像之前一样是自由的,人人都可以自由复制、分发和修改。为了使社区可
以再次形成,他决定写一个完整的自由的操作系统,
取名为 GNU (是 GNU‘s Not Unix的递归缩写,使用递归缩写是黑客的传统
(hacker tradition)),他还希望这是和 Unix 兼容的,以便 Unix的使用者可
以容易地转移过来。 (自由,译自英文free,这个英文词是多义的。RMS 称
free software 与价格无关,free 指的是自由(freedom)。因此,自由软件并不
排斥商业行为。)保障人们使用使用GNU 软件的 自由的技术手段是 copyleft(
与 copyright相对),其中最通用的是 GNU General Public License(通常简称
为 GPL)。到 linux 诞生时,GNU 下的自由软件已经十分丰富,几乎包含了商
业版的 Unix中的所有 软件。但是它的内核开发计划仍未完成。1994 年,Linus
决定给Linux 采用 GPL 作为发行许可证。这就使得一个完整的自由的操作系统
可以很快得到,只需将 Linux 和GNU 软件结合起 来。正是在这样的背景下,出
现了 Linux发行版。到今天,已经有数百个发行版,并且还在不断增加中,它们
各具特色,给人们以丰富多彩的选择。

四、发展到今天与历史意义
如今,Linux 仍旧保持着旺盛的活力(来源于贡献者
和用户的热情)。它被移植到各种 各样的平台,从巨型机到嵌入式系统,遍及
服务器、工作站和桌面应用。Linux 已经是一个 产业,出现了许多成功的公司
制作 Linux 发行版并提供(收费的)技术支持。Linux 又是一 种文化,它是最
成功的自由软件之一,将自由软件的精神与哲学广泛传播。从一个学生黑客 作
品,到一个流行的操作系统,Linux 书写了一个计算机领域的奇迹。 那么Linux
会是永远的吗?Linus 本人对此发表了看法,他说:十五年后,我估计有其 他
的人会来说,嘿,我可以做 Linux 能做的所有事情但是我还可以做到简约和优
秀,因为我 的系统没有二十年的负担要背。他们会说 Linux 是为 386 设计的
,而新的 CPU 已经用不同的 方式作那些真正有趣的事情了。咱们丢掉陈旧的
Linux 包袱吧。这本质上正是我在创造 Linux 时做的。未来他们能够查看我们
的代码,使用我们的接口,并且提供二进制上的兼容 性。如果这些都发生时我
会高兴的。

参考文献
1. Linus 对 Linux 未来的观点,译自“The Linux Edge”( Linus
Torvalds) 附上 Linus 在“The Linux Edge”中的原话:In fifteen years, I
expect somebody else to come along and say, hey, I can do everything
that Linux can do but I can be lean and mean about it because my
system won't have twenty years of baggage holding it back. They'll say
Linux was designed for the 386 and the new CPUs are doing the really
interesting things differently. Let's drop this old Linux stuff. This
is essentially what I did when creating Linux. And in the future,
they'll be able to look at our code, and use our interfaces, and
provide binary compatibility, and if all that happens I'll be happy.
2.对 RMS 的介绍中引言出自“The GNU Operating System and the Free
Software Movement”( Richard Stallman)
3.Linus 的帖子中文翻译者:王晓
林 (wx672@cisd-mail.swfc.edu.cn )。在此表示感谢!

写在文章最后: 这是我用自己的笔记本电脑在 Linux 里写的(迄今为止)最长
的文章了。可能很多人会 对我丝毫没提及 Microsoft 和 Windows 感到奇怪。
可是只写 Linux 的不是很多的介绍就已经 这么多了。
这篇文章,除了直接引言外,皆是我敲出来的。其实书上、网上有许多或更有趣或更
详 尽的介绍,(其实我对 Linux 历史的了解主要也是通过这两种途径),但我
还是说服自己按 自己的(符合论文的)思路一点点地写出来。可能文章还是很
不好,但我希望以后能不断将 其优化、完善(正如我对待我本上的Linux 一样
)。 不足之处愿老师指导!谢谢!
文章评论

共有 6 条评论

  1. wurr707 于 2010-09-09 16:03:58发表:

    为什么国内的研究生搞不出这样的东东呢 差距啊

  2. pallana 于 2010-08-31 20:58:28发表:

    拜读了

  3. reisub 于 2010-08-28 14:38:55发表:

    good!
    gooooooooood!!!!

  4. 王中云 于 2010-08-16 16:38:13发表:

    贺生

  5. outsiders 于 2010-08-16 16:12:44发表:

    hao

  6. qtsmy 于 2010-08-16 14:56:41发表:

    庆生