现在Linux已进入百家争鸣的战国时期,而Ubuntu更可以说是其中的后起之秀与佼佼者,也是聚焦最多人目光的Linux之一。因此本书先就Linux与Ubuntu的关联性作一介绍,让每位读者在进入Ubuntu的世界前,清楚地了解它们的相似与个别性。这也是学习Linux与Ubuntu最重要的敲门砖。
1.1 Linux是什么
谈到Linux的起源,就不得不提及1991年10月,在USNET新闻组——comp.os.minix上的一篇毫不起眼的文章。它由芬兰一位署名为Linus Torvalds的赫尔辛基大学学生所发表,当时这位年轻人才21岁。这篇文章的内容如下:
Hello everybody out there using minix – I’m doing a(free)operating system(just a hobby,won’t be big and professional like gnu)for 386(486)AT clones. This has been brewing since April,and is starting to get ready. I’d like any feedback on things people like /dislike in minix,as my OS resembles practical reasons among other things.
I’ve currently ported bash(1.08)and gcc(1.40),and things seem to work. This implies that I’ll get something practical within a few months,and I’d like to know what feathers most people would want. Any suggestions are welcome,but I won’t promise I’ll implement them:-)
Linus(torvalds@kruuna.helsinki.fi)
Ps. Yes – it’s free of any minix code,and it has a multi-threaded fs. It is NOT portable(uses 386 task switching etc). and it probably never will support anything other than AT-hard-disks,as that’s all I have:-(
也就是因为这篇文章,Linux才开始了以后的快速发展。其实此时发表的版本,也就是第一个Linux正式版本——0.0.2版,虽说是正式版本,但其稳定性和功能仍不十分完善。
从以上这篇文章我们也能了解Linus Torvalds本人设计时的初衷,以及Linux创造时的精神:
它的构思源自Andrew Tanenbaum开发的Minix。这是一种免费的、小型的类UNIX操作系统,您可到以下网站获得详细资料:
http://www.cs.vu.nl/~ast/minix.html
与GNU一样,Linux是一个免费的操作系统。
最初是以386(486)平台为设计目标,但目前支持的平台增加了许多。例如,Compaq Alpha AXP、Sun SPARC and
UltraSPARC、Motorola 68000、PowerPC、PowerPC64、ARM、Hitachi
SuperH、IBM S/390、MIPS、HP PA-RISC、Intel
IA-64、DEC VAX、AMD
x86-64和CRIS等机器目前都可运行Linux。
操作系统中使用了bash的Shell和gcc编译器。
没有使用任何Minix程序代码。
使用多线程(Multi-Threads)的文件系统设计。
不具有移植性。
可能只支持AT硬盘。
Linux就是在这么简单的想法下开始酝酿,同时因为它是以GPL(General Public License)的方式发行,所以任何人可用任何形式来复制与传播Linux。
随着投入研究和开发的人数激增,Linux的功能也愈趋完善,直至目前为止,它已可与微软操作系统相抗衡。
值得一提的是,虽然Linux的成功没有为Linus Torvalds带来财富,但他的成就已为电脑界树立了良好的典范。这也使他在电脑科技发展史上占有一席之地。
有些人常会把“免费”和“开源”软件混淆。根据开放软件运动大师Richard M. Stallman的解释,所谓的“开源”软件,并不是“免费”软件。开源软件(Open Source)是指,在软件发行时附上原始的程序代码,并授权允许用户更改。
由于Linux是由Linus(见图1-1)开发的,所以这个操作系统的名称自然也以Linus’s unix来命名,它的英语发音类似于“利尼克思”,而瑞典文发音为“利new克斯”(因为Linus Torvalds是瑞典籍芬兰人,所以他的母语为瑞典文)。
单击下面的链接,可以听到Linus亲自念Linux的发音:
ftp://dogma.freebsd-uk.eu.org/pub/mark/linux.wav
同时Linux以一只可爱的胖企鹅作为吉祥图案,它的名字叫做Tux。为何Linux的吉祥物是一只胖企鹅呢?这里有一个小典故。
有一次Linux之父Linus Torvalds去澳洲旅游,见到一些企鹅,但是当Linus伸手去抚摸其中一只时,不幸被咬了一口。不过Linus仍对这只小动物情有独钟,因此后来有人提出要为Linux设计一个标志时,Linus就独排众议选了现在大家看到的胖企鹅——Tux,如图1-2所示。
|
|
|
|
图1-1 Linux之父——Linus Torvalds |
图1-2 Linux吉祥图案——Tux |
由于Linux是由全世界许多志愿者自发进行改良的,所以它更新的速度很快,在短短十年内,出现了不下200种的更新版本,而每种版本都会针对上一个版本的特定缺失提出解决方案。
Linux 发行版
在Linux中,最主要的部分称为“核心”(Kernel),它就是Linux的主体。
Kernel负责控制硬件设备、文件系统、进程调度和其他工作,但是并不包括用户应用程序,如编辑软件、多媒体工具、系统管理工具或网络工具等。
然而一个称职的操作系统,除了具有强大的核心功能外,其他的应用程序也是不可或缺的组件,否则空有一个好的架构,也无法发挥实际的功效。
就因为Linux免费的核心,以及允许用户或厂商自行搭配其他应用程序的特性,目前世界上已超过百种以上不同的组合。这些不同厂商发行的核心与应用程序软件包就称为Linux发行版。
但是有一个概念很重要,就是不论Linux发行版的名称或开发厂商是什么,它们都同属于Linux大家庭,没有任何Linux发行版拥有发表核心的权利,所有的核心都是源自Linus Torvalds的Linux核心,它们之间只是包含的软件种类和数量不同而已。
每种Linux 发行版都各有其特长之处,用户应该按照实际的需求,以及管理上的方便来决定使用何种Linux 发行版。
Linux的优点
使用Linux最基本的优点就是经济,因为用户不再需要花费可观的版权费用,便可使用功能强大的操作系统和内建的应用程序。除了经济的好处外,Linux还包括以下优点:
多用户多任务
可以在Linux上同时执行多个程序(多任务),而且它允许多个用户使用同一台电脑,或接受多个用户通过网络连接到电脑执行软件(多用户)。这些都是一个成熟的操作系统所应具备的特点。
稳定的执行效率
因为Linux的核心原始码是根据32位计算机做最佳化设计,所以可以确保执行效率的稳定。除此之外,它还支持多线程(Multi-Threads),可以在一个程序的内存空间中,执行多个线程,提高了硬件资源的利用率。
跨平台操作
由于Linux的系统核心只有低于10%的源代码采用汇编语言(Assembly)撰写,其余都是以C语言完成,因此平台的移植性很高。Linux目前可以执行的平台有很多,并不只限于Intel电脑,而且可以使用多个处理器执行服务器的工作,这更增加了Linux在系统或服务器上的管理能力。
中文化界面
以往要在Linux中使用中文必须通过外挂的方式产生CLE(Chinese Language Extension),但目前较新版的Linux,如Ubuntu,不仅在安装过程中可以选择中文界面,而且安装后可以直接使用中文,如图1-3所示。这节省了许多解决中文化问题的时间。
图形整合界面
其实图形界面并非是微软的专利,目前许多操作系统都一致采用图形界面以方便用户的操作,Linux也不例外。在Linux上可采用多种图形管理程序来变更不同的桌面图案或功能菜单,如GNOME和KDE。这一点是Windows操作系统单一界面所望尘莫及的。
兼容其他UNIX系统
因为同样遵循POSIX(Portable Operating System for unIX)的标准来开发,所以Linux与现今的System V和BSD等主流UNIX系统均可相容,而原本在UNIX系统下可以执行的程序,也几乎都能移植到Linux上。

图1-3 Ubuntu中文化界面
内建应用程序
愈来愈多专为Linux开发的应用程序在互联网上随处可见,而除了自行寻找所需软件外,其实在Linux中早已内建为数众多的各式软件,如图1-4所示,足以满足一般人的 需求。

图1-4 Ubuntu内建的各式软件
支持多种文件系统
Linux可以通过挂载的方式加入许多不同的文件系统,如Windows中的FAT 16/32、NTFS,OS/2中的HPFS,甚至网络上其他电脑共享的文件系统NFS,这些都是Linux支持的文件系统。
绝佳的内存管理
Linux会将未使用的内存区块作为缓冲区(Buffer),以加速程序的执行。另外,系统采取内存保护模式执行程序,可以避免因为一个程序执行失败,而影响整个操作系统的运作的情况。
完善的网络功能
与UNIX系统一样,Linux将TCP/IP作为默认的网络通信协议。除此之外,它还内建了许多服务器级别的软件。所以不需要额外购买其他软件包,即可直接利用Linux来担任全方位的网络服务器。
多样的程序开发工具
Linux不仅可用来进行系统管理工作,对于程序开发人员而言,它也是绝佳的选择。因为在Linux的软件包中,包含了多种程序语言与开发工具,如gcc、cc、c++、Tcl/Tk、Perl、Fortran-77和Python等。








