UNIX 當年是一套需要收費的大型伺服器作業系統,Sun Microsystem 的創 辦人裡面,有一位 Bill Joy 就是柏克萊大學的研究生。微軟的掘起是在個 人電腦的領域方面,當時的個人電腦尚無法運作 UNIX 這樣的大型電腦作業 系統,因為當時的個人電腦只有 8 位元。而微軟的 DOS 產品,嚴格來說也 不算是作業系統,而是一套“磁碟操作系統”,因此 DOS 的主要功能是在於 資料的 I/O 上頭,這也是為什麼採用 DOS 作業系統的個人電腦大多被拿來 用作文書處理的緣故。
令人訝異的是,個人電腦在很短的時間內急速發展,功能也有著突飛猛進的 發展,使得微軟作業系統橫掃全世界的個人電腦市場,甚至威脅到了 Sun Microsystem 的伺服器市場,這也是為什麼 Sun 一直視微軟為最大競 爭對手的緣故。
UNIX 的原始碼後來被一名麻省理工學院的人工智慧實驗室教授 Richard M. Stallman 所發展的 GNU 計畫給散播到了全世界。這位教授希 望讓全世界的人都來使用這有史以來最棒的作業系統,所謂的 GNU 就是一套 全新的大眾化 UNIX 作業系統,跟原先的 UNIX 已經不一樣了,因此由他所 創辦的自由軟體基金會有一個很有名的宣言: GNU is Not Unix。
因此“掛載”是 Linux 一個非常重要的概念。理論上,Linux 可以將任何儲 存媒體,不論是什麼樣的檔案系統,掛載成目錄的形式來使用。
目錄在 Linux 的概念上並不是資料夾,這是 Windows 裡的概念。有一 個地方可以用來說明這個不同點。對Windows 來說,根目錄就是安裝 Windows 的磁區,比方說 C:。但是 Linux的根目錄就不一定是一個主磁區, 很可能是大量儲存媒體的集合體。
也可以說,一部大型電腦伺服器,若有需要加裝更多的記憶體,更多的硬碟, 更多的 CPU,Linux 都可以輕易接受。甚至 Linux 的核心或是開機檔案都可 以放在不同的目錄、不同的儲存裝置,不同的磁區,照樣能夠運作正常。
但是 Windows 就不行,甚至硬碟的分割都必須合乎微軟的標準。這是相當白 癡的做法,只要一個檔案不見了,Windows 就無法開機,甚至造成嚴重損毀。 企業可能會因為一次當機造成無可彌補的損失。
微軟的 Windows 只適合個人電腦的單 CPU、單硬碟。Windows 沒辦法從“任 意一個磁區”來啟動,硬碟的分割,也只能符合主開機區加上延伸磁區的概 念,甚至主開機磁區也有磁柱、數量的限制。
不僅如此,Linux 的核心能夠接受套件來加強功能。有一個概念必須要弄清楚 ,套件其實並不完全是應用程式。凡是跟核心有關的套件一但安裝了,它就跟 Linux 的核心融為一體,功能變得更加強大,但是微軟的 Windows 核心是 “釘死的”,它沒有辦法增加功能,因此每年都要換新一次微軟的產品。微軟 每年都要將他們的作業系統大幅度地改版一次,因此投下了大量的研發經費, 然而 Linux 只要安裝更新套件就行了。
然而“無限”是一個很籠統的概念,因此 Linux 才會冒出一大堆不同的發行 版。以現今市場占有率最大的 Red Hat 以及 Mandrake 來說,Mandrake 的硬 體相容性比較好,安裝時比較不會遇到困難,然而在函式庫方面,Mandrake 時常出現連結錯誤的現象,因此比較不穩定,也較容易當機。新推出的 9.0 版本在穩定性方面提昇不少,值得嘉獎。
Red Hat 就比較專業,這也是長期耕耘專業伺服器的成果,用來開發程式很 不錯。然而在安裝方面較為不易,除非將整個硬體環境配置成為接近伺服器的 環境。最近推出的 8.0 版本已經將 Mandrake 的親和力以及硬體相容性放進 去,未來鹿死誰手還很難說。
早在 DOS 時代,沒有 DirectX 函式庫,程式設計師必須要親自撰寫裝置的 驅動程式。然而有了 DirectX,裝置的驅動交由它來負責就行了,程式設計 師只要負責核心程式碼的部份就好了,大大減少開發程式的困難度。
然而這卻無法彌補微軟 Windows 本身的缺陷,因此當應用程式出錯的時候, 程式設計師要花更多的時間去找出錯誤,有許多作業系統本身的錯誤並無法 被程式設計師修正,因此也只能期待微軟推出修補程式。然而微軟每修補一個 漏洞,就產生更多的漏洞,直到最後不得不重新推出一個作業系統。
目前硬體部份是由 XFree 團隊來負責的。所謂 XFree 的意思是,讓所有的硬 體都能在 X Window 環境下順利運作,而且不需要使用者親自撰寫驅動程式。 因此使用者在購買硬體時,最好能夠考慮 XFree 的相容性。在 Red Hat 或是 Mandrake 的官方網站都可以看到完整的硬體相容性列表。
以我的經驗,購買主機板最好能選擇有生產伺服器專用主機板的廠商,這樣在 Linux 下也能運作無誤。我的主機板採用艾崴的產品,就很穩定,不論是 98 或是 Linux。
由於市面上大部份的顯示卡都是 DirectX 標準,只有 NVIDIA 的顯示卡有專屬 的驅動程式。另外由於創巨公司的音效卡是專為 DirectX 量身訂做的,因此在 Linux 的環境下只有兩聲道。
以我的經驗,台灣自製的產品大多會考慮到 Linux 的相容性,尤其是驊訊公司 的音效處理晶片 C-Media 8738 有專屬的 Linux 驅動程式,大多的主機板都有 內建。
購買硬體,有一件事很重要,就是客戶服務。其他的公司怎麼樣我不知道,但 是華碩就很糟糕,寫去的 e-mail 從沒有回過。但是艾崴就很好,有專門的工 程師回答你的問題。安裝 Linux 碰到問題,有時候寫信去問公司的工程師會 比較好。
另外在磁區的分割方面,安裝 Linux 的人常犯的錯誤就是將 Linux 安裝在 Windows 分割出來的磁區裡面。Linux 無法開機大多是這個原因,例如,將 Linux 安裝在 Windows 的延伸磁區裡面。這樣做當然可以,但是多重開機 程式的運作會出現問題,倘若使用者堅持這樣做,就準備一張 Linux 開機用 的磁片吧。
最好的方法是,在硬碟裡割出一塊主開機區,不要把硬碟所有的空間都分配 進去。安裝好 Windows 之後,再用 Linux 開機光碟開機,並且割出 Linux 專屬的磁區。Windows 看不到 Linux 的磁區,但 Linux 卻可以將 Windows 的磁區掛載上去,因此使用上並不會發生衝突。
XP 的磁區一樣可以看到,使用者在安裝時設定一個掛載點給它就好了,只 是多重開機程式的設定值必須要修改一下。
由於 X Window 只是一個圖形操作介面,它並沒有像 Windows 一樣用桌面環 境取代了主控台,因此任何對 X Window 的操作,都會轉成相對應的 Linux 指令。因此,一本詳盡的指令手冊也是必須的,可以從網路上下載,也可以 到書店去購買。甚至有許多設定值,必須親自動手去修改,不能經由 X Window 去設定。
然而這一點在 KDE 環境已經改善很多了,總有一天 Linux 會變得像 Windows 一樣好用,期待這一天趕緊到來。