什麼是 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 兩個網站的推薦!