鸟哥的 Linux ADSL 私房菜


什么是 Linux
最近更新日期:2003/02/28
什么是 Linux ?什么是操作系统?
从 Unix 到 Linux 这一段历史
什么是 distribution
Linux 的功能与优缺点
一些名词
本章习题练习

什么是 Linux ?什么是操作系统?
要了解 Linux 之前,就不能不知道什么是操作系统 ( Operation System, OS ),所以,首先我们来简单的说一说什么是操作系统吧!先来想一想,当我们使用计算机时,屏幕上面显示的咚咚是由哪里来的?嗯!是由显示卡与屏幕显像的;那么你现在可以藉由网络看到这篇文章,则是藉由 Internet 、网络卡、网络线以及所有相关的电子器材与网络器材所完成的一项任务!如果你要看 VCD 呢?那么就需要光驱、光盘、声卡的发声等等的支持。这么说来的话,所以在『工作』的东西都是『硬件』的工作呀!对了!就是这些计算机硬件在工作的。那么硬件怎么工作呢?那就是藉由『操作系统』来达成的啰!这个操作系统就是在沟通你这个使用者跟硬件之间的讯息传递啦!也就是说,没有操作系统,那么你的计算机硬件就只是一堆废铁,什么工作都不能做的
那么操作系统里面含有什么东西呢?简单的来说,操作系统主要分为两个东西,一个是『核心』、一个是『一堆核心提供的工具』 我们以使用者常使用的 Windows 计算机来做一个简单的说明好了。大家应该都使用过 Windows 计算机里面的档案总管吧?那么当你开启档案总管的时候,他是否会显示你硬盘当中的数据?这个显示硬盘里面的数据,就是『核心』帮你做的,但是,你要核心去显 示硬盘哪一个目录下的数据,则是由『档案总管』这个『工具』帮你达成的!这样可以理解吗?再来,如果您曾经使用过 Windows 2000 或 Windows XP 的话,那就更好了!你就应该听过有所谓的『FAT32 与 NTFS 档案格式』吧?在 Windows 98 这个早期的 Windows 版本中,他并无法读取或者是找到 Windows XP 的 NTFS 档案格式的硬盘,为什么呢?因为他的『核心』本来就不认识 NTFS 啊!所以,即使你有档案总管,但是由于核心根本不认识 NTFS ,所以,档案总管也是没有能力帮你达到你想要做的事情!这样应该就更清楚了吧?没错!你的整个硬件是由核心来管理的,而如果核心不认识你的硬件,那么你将无法使用该硬设备,例如上面提到的 NTFS 档案格式的硬盘!核心就是『 Kernel 』,他是一个操作系统的最底层的东西,由他来掌管整个硬件资源的工作状态,而 Linux 有 Linux 自己的核心, Windows 也有他自己的核心。所以说,当有新的硬件加入到你的系统中的时候,那么若你的『 Kernel 』并没有支持他的时候,呵呵,这个新的硬件就肯定无法工作的,因为控制他的 Kernel 并不认识他呀!这样了解了吗?!先有个概略性的了解,后面我们提到『核心编译』的时候会在更详细的谈到他!

一般来说,Kernel 管理的事项有:

  • System call interface :一些服务与 kernel 沟通之后,将硬件的资源进一步的利用;
  • Process control :系统过程控制中心,所以核心编的越小越好;
  • Memory management :控制整个系统的内存管理;
  • File system management :档案系统的管理,例如 I/O 等等的工作啦!还有不同档案格式的支持啦等等,如果你的核心不认识某个档案系统,那么您将无法使用该档案格式的档案啰!例如上面提到的 Windows 98 不认识 NTFS 档案格式的硬盘;
  • Device drivers :就如同上面提到的,硬件的管理是 Kernel 的主要工作之一,当然啰,装置的驱动程序就是核心需要做的事情啦!好在目前都有所谓的『可加载模块』功能,可以将驱动程序编辑成模块,就不需要重新的编译核心啦!这个也会在后续的核心编译当中提到的!
  • 所以啦!所有硬件的资源都是他来管理的!至于我们要达成一些工作时,除了藉由核心本身提供的功能 ( 例如上面提到的档案总管 ) 之外,还可以藉由其它的应用软件来达成喔!举个例子来说,你要看 VCD 影片是吧!那么除了 Windows 提供的媒体播放程序之外,你也可以自行安装 VCD 播放程序来播放 VCD 啰!这个播放程序就是应用软件啰,而这个应用软件可以帮你去控制核心来工作 ( 就是放映影片啰 ) ,因此,我们可以这样说,核心是控制整个硬件支持的咚咚,也是一个操作系统的最底层,然而要让整个操作系统更完备的话,那还需要含有相当丰富的核心提供的工具,以及核心相关的应用软件来支持
    OK!提到这里那么您知道 Linux 是什么了吗?呵呵!对啦!其实 Linux 就是一个操作系统,这个操作系统里头含有最主要的 kernel 以及 kernel 提供的工具啦!他提供了一个完整的操作系统当中最底层的硬件控制与资源管理的完整架构,这个架构是沿袭 Unix 良好的传统来的,所以相当的稳定而功能强大!此外,由于这个优良的架构可以在目前的个人计算机 ( X86 系统 ) 上面跑,所以很多的软件开发者将他们的工作心血移转到这个架构上面,那就是很多的应用软件啦!虽然 Linux 仅是其核心与核心提供的工具,不过,由于核心、核心工具与这些软件开发者提供的软件的整合,使得 Linux 成为一个更完整的、功能强大的操作系统啰!我们可以将 Linux 的系统与使用者的相关性看成底下的图示:

    图一、使用者、使用者接口与核心工具、核心、与硬件之相关性
    约略了解 Linux 是何物之后,接下来,我们要谈一谈,『为什么说 Linux 是很稳定的操作系统呢?他是如何来的?

    从 Unix 到 Linux 这一段历史
    什么是 distribution
    好了,经由上面的说明,我们知道 Linux 是个『操作系统』,而且他是 GNU 的授权模式,并且有个老大哥是 Unix 。不过,毕竟由 Torvalds 先生负责维护的 Linux 提供的仅是『核心』与『核心工具』的集合,对于需要更完整功能的操作系统来说,毕竟还不够完备,例如如果你要桌面程序,还得要加入 X-Window 系统对吧!?如果你要架设 WWW 还得加入服务器软件对吧?所以,虽然 Linux 的核心已经提供了相当多的支持与工具程序,但毕竟还不足以构成一个很完整的操作系统。
    好在,由于 Linux 的稳定性良好,并且可以在便宜的 x86 架构下的计算机平台运作,所以吸引了很多的套件商与自由软件的开发团队在这个 Linux 的核心上面开发相关的软件,例如有名的 sendmail, wu-ftp, apache 等等。此外,亦有一些商业公司发现这个商机,因此,这些商业公司或者是非营利性的工作团队,便将 Linux 核心、核心工具与相关的软件集合起来,并加入自己公司或团队的创意的系统管理模块与工具,而释出一套可以完整安装的操作系统,这个完整的 Linux 操作系统,我们就称呼他为 distribution,或者是中文所谓的『安装套件』啰!当然啰,由于是基于 GNU 的架构下,因此各家公司所发行的光盘套件是可以在网络上面自由下载的。不过,如果想要有较佳的服务,那么购买该公司发行的光盘也是不错的!
    不过,由于发展的 Linux 公司实在太多了,例如有名的 Red Hat, OpenLinux, Mandrake, Debian, SuSE 等等,所以很多人都很担心,如此一来每个 distribution 是否都不相同呢?这就不需要担心了,由于各个 distribution 都是架构在 Linux Kernel 下来发展属于自己公司风格的 distribution,因此大家都遵守 Linux Standard Base ( LSB ) 的规范,也就是说,各个 distribution 其实都是差不多的!反正用到的都是 Linux Kernel 啊!只是各个 distribution 里面所使用的各套件可能并不完全相同而已。所以啰,大家可以按照自己的喜好来选择 Linux 的 distribution 光盘啰!底下列出几个主要的 Linux 发行者网址:
    当然发行套件者不仅于此,您可以查阅其它的 Linux 新闻来发现喔!而其中中文化较为有名的就属 CLE 这个套件发行者了!另外,台湾还有另一家 Linux 开发商,称为 Linpus (百资),有兴趣的话也可以到底下的网页上看看! 好了,那么哪一个安装套件比较好呢?!就如同 VBird 前面提到的,每一个发行者所使用的 Linux 核心其实是一样的,都是由 www.kernel.org 开发出来的核心呀!所以其架构,甚至包括其档案放置的目录,都是大同小异的,基本上除了某些内容套件不太一样之外 ( 例如有人使用 wu-ftpd 有人使用 proftpd 等等 ) ,其它的档案架构与指令系统其实几乎都是相同的,因此我们不去探讨哪一个套件比较棒!而是要来介绍如何学习与使用一个套件!至于下载的地点,网友提供了一个相当棒的多种 Linux distributions 的下载网站: 同时底下的网站还有各个著名的 Linux distribution 的比较!包括使用的热门情况、市场占有率、以及套件的相依程度等等:
    http://www.distrowatch.com/

    Linux 的功能与优缺点
    一些名词(GNU, GPL ??)
    本章习题练习 ( 要看答案请将鼠标移动到『答:』底下的空白处,按下左键圈选空白处即可察看 )
    2002/06/25:第一次完成
    2003/01/26:重新修订,加入一些历史事件、重新编排与加入 FAQ
    2003/02/28:加入百资以及 distrowatch 两个网站的推荐!

    2002/02/03以来统计人数



    Designed by VBird during 2001-2004.  Aerosol Lab.