UNIX系統發展史:

  • 1969 年以前:一個沒有完成的夢想: Bell, MIT 與 GE 的『 Multics』系統
  • 1969 年: Ken Thompson 的小型 file server system
  • 1973 年: Unix 的正式誕生,Ritchie 等人以 C 語言寫出第一個正式 Unix 核心
  • 1977 年: 重要的 Unix 分支: BSD 的誕生
  • 1979 年: 一個措手不及的版權宣告!
  • 1984 年之一: x86 架構的 Minix 誕生
  • 1984 年之二: GNU 與 FSF 計畫的成立
  • 1988 年: 圖形介面 XFree86 計畫
  • 關於 GNU 計畫
     
    1984 年創立 GNU 計畫與 FSF 基金會的 Stallman 先生認為, 寫程式最大的快樂就是讓自己發展的良好的軟體讓大家來使用了! 而既然程式是想要分享給大家使用的,不過,每個人所使用的電腦軟硬體並不相同, 既然如此的話,那麼該程式的原始碼 (Source code) 就應該要同時釋出, 這樣才能方便大家修改而適用於每個人的電腦中呢!這個將原始碼釋出的舉動, 就稱為 Open Source !此外,史托曼同時認為,如果您將您程式的 Source code 分享出來時,若該程式是很優秀的,那麼將會有很多人使用, 而每個人對於該程式都可以查閱 source code ,無形之中,就會有一票人幫您除錯囉! 您的這支程式將會越來越壯大!越來越優秀呢!

    而為了避免自己的開發出來的 Open source 的自由軟體被拿去做成專利軟體, 於是 Stallman 同時將 GNU 與 FSF 發展出來的軟體,都掛上 GPL 的版權宣告∼ 這個 FSF 的核心觀念是『版權制度是促進社會進步的手段, 版權本身不是自然權力。』對於 FSF 有興趣或者對於 GNU 想要更深入的瞭解時,請參考樹德大學的洪朝貴教授的網站 http://www.pws.stu.edu.tw/ckhung/a/c_83.php,或直接到 GNU 去: http://www.gnu.org 裡面有更為深入的解說!
     
     
    那麼這個 GPL ( GNU General Public License, GPL ) 是什麼玩意兒? 為什麼要將自由軟體掛上 GPL 的『版權宣告』呢?這個版權宣告對於作者有何好處? 首先, Stallman 對 GPL 一直是強調 Free 的,這個 Free 的意思是這樣的:

    "Free software" is a matter of liberty, not price. To understand the concept, you should think of "free speech", not "free beer". "Free software" refers to the users freedom to run, copy, distribute, study, change, and improve the software

    大意是說, Free Software (自由軟體) 是一種自由的權力,並非是『價格!』 舉例來說,你可以擁有自由呼吸的權力、你擁有自由發表言論的權力, 但是,這並不代表您可以到處喝『免費的啤酒!(free beer)』,也就是說, 自由軟體的重點並不是指『免費』的,而是指具有『自由度, freedom』的軟體, 史托曼進一步說明了自由度的意義是: 使用者可以自由的執行、複製、再發行、學習、修改與強化自由軟體。 這無疑是個好消息!因為如此一來,你所拿到的軟體可能原先只能在 Unix 上面跑, 但是經過原始碼的修改之後,你將可以拿他在 Linux 或者是 Windows 上面來跑!總之,一個軟體掛上了 GPL 版權宣告之後,他自然就成了自由軟體! 這個軟體就具有底下的特色: 但請特別留意,您所修改的任何一個自由軟體都不應該也不能這樣: 也就是說,既然 GPL 是站在互助互利的角度上去開發的,您自然不應該將大家的成果佔為己有, 而取消 GPL 授權的!對吧!因此您當然不可以將一個 GPL 軟體的授權取消, 即使您已經對該軟體進行大幅度的修改!那麼自由軟體也不能販賣嗎?當然不是!還記得上一個小節裡面, 我們提到史托曼藉由販賣 Emacs 取得一些經費,讓自己生活不至於匱乏吧??是的! 自由軟體是可以販售的,不過,不可僅販售該軟體,應同時搭配售後服務與相關手冊∼ 這些可就需要工本費了呢!

    很多人還是有疑問,目前不是有很多 Linux 開發商嗎?為何他們可以販售 Linux 這個 GPL 授權的軟體? 原因很簡單,因為他們大多都是販售『售後服務!』所以,他們所使用的自由軟體, 都可以在他們的網站上面下載!(當然,每個廠商他們自己開發的工具軟體就不是 GPL 的授權軟體了!) 但是,您可以購買他們的 Linux 光碟,如果您購買了光碟,他們會提供相關的手冊說明文件, 同時也會提供您數年不等的諮詢、售後服務、軟體升級與其他協力工作等等的附加價值! 所以說,目前自由軟體工作者,他們所賴以維生的,幾乎都是在『服務』這個領域呢! 畢竟自由軟體並不是每個人都會撰寫,有人有需要您的自由軟體時,他就會請求您的協助, 此時,您就可以透過服務來收費了!這樣來說, 自由軟體確實還是具有商業空間的喔!

     
     
    上面提到的大多是與使用者有關的項目,那麼 GPL 對於自由軟體的作者有何優點呢? 大致的優點有這些: 這是因為既然是 Open Source 的自由軟體,那麼您的程式碼將會有很多人幫您查閱, 如此一來,程式的漏洞與程式的優化將會進展的很快!所以,在安全性與效能上面, 自由軟體一點都不輸給商業軟體喔!此外,因為 GPL 授權當中,修改者並不能修改授權, 因此,您如果曾經貢獻過程式碼,嘿嘿!您將名留青史呢!不錯吧! ^_^

    不過,就鳥哥的觀點來看, GPL 對於程式開發者的優點是相當多的,不過, 對於不熟悉程式的一般人來說, GPL 的優點其實不太容易看出來∼ 首先,雖然他是隨手可得的自由軟體,不過,您也必須要會使用基本的編譯器才行吧! (呵呵!這也是您為何要買這本書/察看鳥哥的網站的原因吧! ^_^) 這對於一般人來說並不容易!當然啦,如果每個人都跟 Stallman 一樣神,那商業公司就不用存在啦! 嘿嘿!對於不懂程式的人來說,商業公司是一個很快速的解決之道啊! 而對於我們廣大的讀者群來說,認識了/學習了 Linux 與自由軟體的相關技巧後, 對於未來真的是有很不錯的幫助喔!

     

     

     

    3. FreeBSD系統介紹:

    FreeBSD介紹:

            FreeBSD是一套作業系統。...

              BSD UNIX 系統可以說是網路作業系統的始祖,FreeBSD 是眾多 BSD UNIX 分支中的一個,它繼承了 BSD 系統的高性能與可靠性。自從1993 年 FreeBSD 推出 1.0-RELEASE 以來,FreeBSD 開發團隊便致力於系統的調校,使其發揮絕佳的效能。在 FreeBSD 團隊的統籌努力下,使它比起其他免費的 UNIX 作業系統更有結構。在 FreeBSD 上有許多支援的免費軟體,這些軟體大都已移植收錄於 FreeBSD ports 中,使得我們在安裝軟體時變得十分輕鬆。FreeBSD 支援 32 位元、64 位元的許多不同平台,具有高效能核心架構、動態函式庫共享、絕佳的網路功能,比起其他商用 UNIX 系統毫不遜色。

                 FreeBSD的高穩定性...許多大型網站都以它為作業平台,其中最知名的就是 YAHOO!。YAHOO! 是一個流量相當大的入口網站,他們選擇以 FreeBSD 為作業平台,由此可知 FreeBSD 的優異性。除此之外,在台灣,FreeBSD 普遍被應用於學術網路上,許多大專院校的伺服器都是使用 FreeBSD 來提供網路服務。

                 但是您別以為 FreeBSD 只能用來做為網路伺服器,FreeBSD 也可以是一個良好的個人作業系統。事實上,Mac OS X 就是使用 FreeBSD 做為系統核心。大家都知道 Mac OS 是個人電腦上有名的作業系統,它會使用 FreeBSD 做為系統核心,可見 FreeBSD 的品質亦深獲 Apple 的肯定。

     

    FreeBSD版本介紹:

               

    FreeBSD 每出一個新的版本都是以 FreeBSD A.B.C-TAG 來作為命名的方式,例如 FreeBSD 5.4-RELEASE 或 FreeBSD 5.2.1-RELEASE。

    TAG可分為

    stable 在release版後,最佳化的版本。
    release 當current穩定後推出的版本,力求穩定。
    current 以開發新功能為主

    世界各地活躍的高手們組成 Core Team 對系統原始程式碼做開發和維護,幾乎系統原始程式碼每天都會有新版本和修正除錯。系統工具程式、驅動程式等等,例如 Ports 內的程式版本也常常更新。FreeBSD 的 Core Team 為了兼顧發展新功能和穩定性,所以將原始碼進入穩定階段,就會建立一個新的分支,並在新的分支上加強穩定性及效能。所有新的功能會先在 Current 上進行開發,有必要才會放到穩定的分支中。圖 1-1 即為目前 FreeBSD 原始碼版本結構簡圖:

    圖 1-1

    在 FreeBSD 在開發時有一個實驗性的版本,以開發新功能為主,稱為 CURRENT ,這是主要的分支。當 CURRENT 進入穩定的階段後,會分支出一個 STABLE 的 Branch,目前 5.x 系列就是一個還在維護的分支。FreeBSD 4.x 分支自從 4.11 之後應該不會再推出新的版本了,以後 STABLE 版將以 5.x 為主。FreeBSD 正式發行的版本稱為 RELEASE 版本,推出RELEASE之後會不斷的更新該版本以力求穩定性,稱之為 STABLE。以 FreeBSD 5.x 為例,自從 Current 開發到 5.3 時,因為品質已經十分穩定,因此產生新的分支,以後 5.x 就會在此分支下開發,而一些新的功能或是實驗性質的程式會被放到 Current 中。

    在 FreeBSD 在 5.x 中加入了設多新的功能,在系統架構上有許多新的變革,使用了許多新的技術,而這些新的技術經過 5.0、5.1、5.2、5.3-RELEASE 的淬煉後,功能上已十分穩定。而 FreeBSD 4.11 是 4.x 最後的版本,如果您十分保守,或是您所要跑的軟體只支援 4.x,歷史悠久的 FreeBSD 4.x 也是不錯的選擇。我們以下列出 FreeBSD 5.x 和 4.x 主要的差異供讀者參考:

    1. SMPng (Symmetric MultiProcessor next generation) 對多顆 CPU 的支援有更好的效率。
    2. 對於新硬體的支援更完整。例如支援藍芽、32 bit 的 PCMCIA 等。FreeBSD 5.x 使用不同的方式管理硬體裝置,日後對於新的硬體支援應該會比較迅速。
    3. 更進步的檔案系統功能。FreeBSD 一項最大的弱點就是缺乏一個比較好的檔案系統格式,但 5.x 新增了一些新的功能改善即有的檔案系統。例如 background fsck,可以讓不正常關機後的系統可以更快速進入正常運作。FreeBSD 5.x 使用 UFS2,它支援更大的檔案及更多檔案屬性。另外,還有 snapshot 功能,可以讓我們對檔案系統進行快照,保留某一時間的檔案內容。
    4. 支援 kernel thread,FreeBSD 5.x 的 KSE (Kernel scheduled Entities) 讓我們可以擁有 kernel mode 的多重執行緒。這項功能對於一些大型系統效率 (如使用 Apache 2 或支援多執行緒的資料庫) 有明顯提升。

    FreeBSD 4.x 發展到最後,可以說是一套最穩定的作業系統,而由於 5.x 加入了許多新的功能,在穩定性方面略遜一籌。為了改善 5.x 的穩定性及效能,FreeBSD 很快就推出 6.x 系列。6.x 的主要目的是改善 5.x 的穩定性及提升系統效能,在功能上不會有太多的不同。所以,目前選用 6.x 應該是最好的選擇。

     

     

    FreeBSD系統架構:

    / 根目錄,放開機必備檔,包含/bin、/etc、/sbin、/root.....等。
    /usr 放執行檔、設定檔等,日後安裝的軟體都會放在這裡。
    /var 這是放使用者信件、寄信時暫存區及一些系統記錄(log) 的地方。
    /tmp 是許多程式的暫存區,其權限通常是所有使用者都可以讀寫。
    /home 這裡是放使用者的目錄。這個分割區會被用來存放使用者的資料。
    SWAP 虛擬記憶體。

     

    FreeBSD VS M$

    FreeBSD MS windows
    每個硬體裝置都是一個文件 C:、D:、CDROM
    Free ware 要錢買...Orz
    多工 不多工 (我不知道怎麼稱呼...)
    高穩定性 可愛的藍底白字畫面
    配備要求低廉 配備要求不低廉
    對新硬體支援度低 對硬體支援度高
    文字介面使用不便  圖形介面作的還不夠好 圖形介面使用方便