UNIX系統發展史:
1969 年以前:一個沒有完成的夢想:
Bell, MIT 與 GE 的『 Multics』系統
早期的電腦並不像現在的個人電腦一樣,他可不是一般人碰的起的呢∼ 除非是軍事或者是高科技用途,或者是學術單位的學術研究,否則,真的很難接觸到。
非但如此,早期的電腦架構還很難使用,除了運算速度並不快之外,操作介面也很困擾的!
在那個時候,寫程式是件很可憐的事情,因為,程式設計者,必須要將程式相關的資訊在讀卡紙上面打洞,
然後再將讀卡紙插入讀卡機來將資訊讀入主機中運算。光是這樣就很麻煩了,如果程式有個小地方寫錯,
哈哈!光是重新打卡就很慘,加上主機少,使用者眾多,光是等待,就耗去很多的時間了!
在之後,經由作業系統的改良,使得後來可以使用鍵盤來進行資訊的輸入/輸出。
不過,在一間學校裡面,主機畢竟可能只有一部,如果多人等待使用,那怎麼辦? 好在 1960 年代初期麻省理工學院 (MIT) 發展了所謂的: 『相容分時系統(
Compatible Time-Sharing System, CTSS )』,
它可以讓大型主機透過提供數個終端機(terminal)以連線進入主機,來利用主機的資源進行運算工作。 架構有點像這樣:
如此一來,無論主機在哪裡,只要在終端機前面進行輸入輸出的作業,就可利用主機提供的功能了。
不過,需要注意的是,此時終端機只具有輸入/輸出的功能,本身完全不具任何運算或者軟體安裝的能力。 而且,比較先進的主機大概也只能提供 30
個不到的終端機而已。
為了更加強化大型主機的系統,以讓主機的資源可以提供更多使用者來利用,所以在 1965 年前後, 由貝爾實驗室 (Bell)、麻省理工學院
(MIT) 及奇異公司 (GE) 共同發起了 Multics 的計畫, Multics 目的是想要讓大型主機可以達成提供 300
個以上的終端機連線使用的目標。 不過,到了 1969 年前後,計畫進度落後,資金也短缺,所以該計畫就宣告不治.....喔!是宣告失敗∼ (註:
Multics 有複雜、多數的意思存在。)
1969 年: Ken Thompson
的小型 file server system
在認為 Multics 計畫不可能成功之後,貝爾研究室
就退出該計畫。不過,原本參與 Multics 計畫的人員中,已經從該計畫當中獲得一些點子,
Ken Thompson 就是其中一位!Thompson 因為自己的需要,希望開發一個小小的作業系統,
以提供自己的需求。在開發時,有一部 DEC (Digital Equipment Corporation) 的 PDP-7 沒人使用,
於是他就準備針對這部主機進行作業系統核心程式的撰寫。本來 Thompson 是沒時間的, 有趣的是,在 1969 年八月份左右,剛好
Thompson 的妻兒去了美西探親, 於是他有了額外的一個月的時間好好的待在家將一些構想實現出來! 經過四個星期的奮鬥,他終於以組譯語言
(Assembler) 寫出了一個核心程式,同時包括一些核心工具程式, 以及一個小小的檔案系統。那個系統就是
Unix 的原型! 當時 Thompson 將 Multics 龐大的複雜系統簡化了不少,於是同實驗室的朋友都戲稱這個系統為:
Unics 。 Thompson 的這個檔案系統有兩個重要的概念,分別是:
- 所有的程式或系統裝置都是檔案
- 不管建構編輯器還是附屬檔案,所寫的程式只有一個目的,且要有效的完成目標。
1973 年: Unix
的正式誕生,Ritchie 等人以 C 語言寫出第一個正式 Unix 核心
由於 Thompson 寫的那個作業系統實在太好用了,所以在貝爾實驗室內部廣為流傳,並且數度經過改版。 但是,比較重要的改版則發生在 1973
年。Unix 本來是以組譯語言寫成的,後來因為系統移植與效能的需求, 該系統被 B 語言所改寫。不過,效能依舊不是很好。後來,
Dennis
Ritchie 將 B 語言重新改寫成 C 語言,C 語言算是比較高階的程式語言,可以在不同的機器上面運作, 而 Ritchie
等人也同時將原本 Thompson 的那個作業系統重新以 C 語言改寫, 最後發行出 Unix 的正式版本!
在這個時候需要特別注意的是,貝爾實驗室是隸屬於 AT&T 的,只是 AT&T 當時忙於其他商業活動, 所以對於 Unix
是採取比較開放的態度,此外, Unix 在這個時期的發展者都是貝爾實驗室的工程師, 這些工程師對於程式當然相當有研究,所以, Unix
在此時當然是不容易被一般人所接受的! 此外,也需要特別強調,由於 Unix 是以較高階的 C 語言寫的,相對於組譯語言需要與硬體有密切的配合,
高階的 C 語言與硬體的相關性就沒有這麼大了!所以,這個改變也使得 Unix
很容易被移植到不同的機器上面喔!
1977 年: 重要的 Unix 分支:
BSD 的誕生
前面說到,雖然貝爾屬於 AT&T ,但是 AT&T 此時對於 Unix 是採取開放的態度, 此外, Unix 是以高階的 C
語言寫成的,理論上是具有可移植性的! 所以,只要取得 Unix 的原始碼,並且針對大型主機的特性加以修訂原有的原始碼( Source Code
), 就可能將 Unix 移植到另一部不同的主機上頭了。所以在 1973 年以後, Unix
便得以與學術界合作開發!最重要的接觸就是與加州柏克萊 ( Berkeley ) 大學的合作了。 柏克萊大學的 Bill Joy 在取得了
Unix 的核心原始碼後,著手修改成適合自己機器的版本, 並且同時增加了很多工具軟體與編譯程式,最終將他命名為
Berkeley Software Distribution (BSD) 。這個 BSD 是 Unix 很重要的一個分支,
Bill Joy 也是 Unix 業者『 Sun 』這家公司的創辦者! Sun 公司即是以 BSD 發展的核心進行自己的商業 Unix
版本的發展的。 (後來可以安裝在 x86 硬體架構上面 FreeBSD 即是 BSD
改版而來!)
1979 年: 一個措手不及的版權宣告!
由於 Unix 的高度可移植性與強大的效能,加上當時並沒有版權的糾紛, 所以讓很多商業公司開始了 Unix 作業系統的發展,例如 AT&T
自家的 System V、IBM 的 AIX 以及 HP 與 DEC 等公司,都有推出自家的主機搭配自己的 Unix 作業系統。
但是,如同我們前面提到的,作業系統的核心 ( Kernel ) 必須要跟硬體配合,
以提供及控制硬體的資源進行良好的工作! 而在早期每一家生產電腦硬體的公司還沒有所謂的『協定』的概念,
所以每一個電腦公司出產的硬體自然就不相同囉!因此他們必須要為自己的電腦硬體開發合適的 Unix 系統。 例如在學術機構相當有名的 Sun 、
Cray 與 HP 就是這一種情況。 他們開發出來的 Unix 作業系統以及內含的相關軟體並沒有辦法在其他的硬體架構下工作的!
且由於沒有廠商針對個人電腦設計 Unix 系統,因此,在早期並沒有支援個人電腦的 Unix 作業系統的出現 (
由於 Unix 強調的是多人多工的環境,但早期的 x86 個人電腦架構下的 CPU
是沒有能力達到多工的作業,因此,並沒有人對移植 Unix 到 x86 的電腦上有興趣 )。 每一家公司自己出的 Unix
雖然在架構上面大同小異,但是卻真的僅能支援自身的硬體, 所以囉,早先的 Unix
只能與伺服器 ( Server ) 或者是大型工作站 ( Workstation ) 劃上等號!
但是這個高度開放的 Unix 系統在 1979 年有了重大的轉折∼ 因為 AT&T 由於商業的考量,以及在當時現實環境下的思考,於是將想
Unix 的版權收回去, 因此,在 AT&T 在 1979 年發行的第七版 Unix 中,特別提到了 『不可對學生提供原始碼』的嚴格限制!
同時,也造成 Unix 業界之間的緊張氣氛,並且也引爆了很多的商業糾紛∼
1984 年之一: x86 架構的 Minix
誕生
關於 1979 年的版權聲明中,影響最大的當然就是學校教 Unix 相關學問的教授了! 想一想,如果沒有核心原始碼,那麼如何教導學生認識
Unix 呢? 這問題對於 Andrew Tanenbaum (譚邦寧)教授來說,實在是很傷腦筋的! 不過,學校的課程還是得繼續啊!那怎麼辦??
既然 1979 年的 Unix 第七版可以在 Intel 的 x86 架構上面進行移植,
那麼是否意味著可以將 Unix 改寫並移植到 x86 上面了呢?在這個想法上, 譚邦寧教授於是乎自己動手寫了 Minix 這個
Unix Like 的核心程式! 在撰寫的過程中,為了避免版權糾紛,譚邦寧完全不看 Unix 核心原始碼! 並且強調他的 Minix 必須能夠與
Unix 相容才行!譚邦寧在 1984 年開始撰寫核心程式, 到了 1986 年終於完成,並於次年出版 Minix
相關書籍,同時與新聞群組相結合∼
這個 Minix 版本比較有趣的地方是,他並不是完全免費的,無法在網路上提供下載!
必須要透過磁片/磁帶購買才行!雖然真的很便宜∼不過,畢竟因為沒有在網路上流傳, 所以 Minix
的傳遞速度並沒有很快速!此外,購買時,隨磁片還會附上 Minix 的原始碼! 這意味著使用者可以學習 Minix 的核心程式設計概念喔! (這個特色對於
Linux 的啟始開發階段,可是有很大的關係喔!) 此外,開發者僅有譚邦寧教授,因為學者很忙啊!加上譚邦寧始終認為 Minix
主要用在教育用途上面, 所以對於 Minix 是點到為止!所以, Minix 很受歡迎沒錯,
不過,使用者的要求/需求的聲音可能就比較沒有辦法上升到比較高的地方了! 這樣說,您明白吧??? ^_^
1984 年之二: GNU 與 FSF
計畫的成立
Richard Mathew Stallman (史托曼) 在 1984 年發起的 GNU 計畫,對於現今的自由軟體風潮,
真有不可磨滅的地位!目前我們所使用得很多自由軟體,幾乎均直接或間接助益於 GNU 這個計畫呢! 那麼史托曼是何許人也?為何他會發起這個 GNU
計畫呢?
Richard Mathew
Stallman (生於 1953 年, 網路上自稱的 ID 為 RMS) 從小就很聰明!他在 1971
年的時候,進入駭客圈中相當出名的人工智慧實驗室(AI Lab.), 這個時候的駭客專指電腦功力很強的人,而非破壞電腦的怪客 (cracker)
喔! 當時的駭客圈對於軟體的著眼點幾乎都是在『分享』,所以並沒有專利方面的困擾!
這個特色對於史托曼的影響很大!不過,後來由於管理階層的問題,導致實驗室的優秀駭客離開該實驗室,
並且進入其他商業公司繼續發展優秀的軟體。但史托曼並不服輸,仍然持續在原來的實驗室開發新的程式與軟體。
後來,他發現到,自己一個人並無法完成所有的工作,於是想要成立一個開放的團體來共同努力!
1983 年以後,因為實驗室硬體的更換,使得史托曼無法繼續以原有的硬體與作業系統繼續自由程式的撰寫∼ 而且他進一步發現到,過去他所使用的
Lisp 作業系統,是麻省理工學院的專利軟體, 是無法共享的,這對於想要成立一個開放團體的史托曼是個阻礙。於是他便放棄了 Lisp 這個系統。
後來,他接觸到 Unix 這個系統,並且發現, Unix 在理論與實際上,都可以在不同的機器間進行移植。 於是他開始轉而使用 Unix
系統。因為 Lisp 與 Unix 是不同的系統, 所以,他原本已經撰寫完畢的軟體是無法在 Unix 上面運行的!為此, 他就開始將軟體移植到
Unix 上面。並且,為了讓軟體可以在不同的平台上運作, 因此,史托曼將他發展的軟體均撰寫成可以移植的型態!
1984 年,史托曼開始 GNU 計畫,這個計畫的目的是想要:
建立一個自由的開放的 Unix 作業系統。 但是建立一個作業系統談何容易啊!而且在當時的 GNU
是僅有自己一個人單打獨鬥的史托曼∼ 這實在太麻煩,但又不能不做這個計畫,於是史托曼反其道而行∼『既然作業系統太複雜, 我就先寫可以在 Unix
上面運行的小程式,這總可以了吧?呵呵!』在這個想法上, 史托曼便開始了程式的寫作。在寫作期間,為了不讓自己吃上官司,他絕對不看專利軟體的原始碼!
為了這個計畫,他開始使用原本 Unix 上面跑的軟體, 並自行撰寫功能與 Unix 原有專利軟體相仿的軟體。
但不論是什麼軟體,都得要進行編譯成為二進位檔案(binary file)後才能夠執行, 因此他便開始撰寫 C 語言的編譯器,那就是現在相當有名的
GNU C (gcc)! 這個點相當的重要!這是因為 C 語言編譯器版本眾多,但都是專利軟體, 如果他寫的 C
編譯器夠棒,效能夠佳,那麼將會大大的讓 GNU 計畫出現在眾人眼前!
但開始時並不順利,為此,他先轉而將 Emacs 編輯器寫成可以在 Unix 上面跑得軟體, 並公開公布原始碼,因為 Emacs
太優秀了,因此,很多人便直接向他購買。此時 Internet 尚未流行, 所以,史托曼便藉著
Emacs 以磁帶(tape)出售,賺了一點錢 ,進而開始全力撰寫其他軟體。並且成立
自由軟體基金會 (FSF, Free Software Foundation),請更多工程師與志工撰寫軟體。
終於還是完成了 GCC,這比 Emacs 還更有幫助! 此外,他還撰寫了更多可以被呼叫的 C 函式庫(GNU C library),
以及可以被使用來操作作業系統的基本介面 BASH shell ! 這些都在 1990 年左右完成了!
到了 1985 年,為了避免 GNU 所開發的自由軟體被其他人所利用而成為專利軟體, 所以他與律師草擬了有名的通用公共許可證
(General Public License, GPL), 並且稱呼他為
copyleft (相對於專利軟體的 copyright!)。 關於 GPL
的相關內容我們在下一個小節繼續談論,在這裡,必須要說明的是, 由於有 GNU 所開發的幾個重要軟體,如:
- Emacs
- GNU C (GCC)
- GNU C Library (glibc)
- Bash shell
造成後來很多的軟體開發者可以藉由這些基礎的工具來進行程式開發! 進一步壯大了自由軟體團體!這是很重要的!不過,對於 GNU 的最初構想
『建立一個自由的 Unix 作業系統』來說,有這些優秀的程式是仍無法滿足, 因為,當下並沒有『自由的 Unix
核心』存在.....所以這些軟體仍只能在那些有專利的 Unix 平台上工作∼∼一直到 Linux 的出現......
1988 年: 圖形介面 XFree86 計畫
有鑑於圖形使用者介面 ( Graphical User Interface, GUI
) 的需求日益加重,在 1984 年由 MIT 與其他協力廠商首次發表了 X Window System ,並且更在 1988
年成立了非營利性質的 XFree86 這個組織。所謂的 XFree86 其實是 X
Window System + Free + x86 的整合名稱呢! 而這個 XFree86 的 GUI 介面更在 Linux
的核心 1.0 版於 1994 年釋出時,整合於 Linux 作業系統當中!
關於 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 是站在互助互利的角度上去開發的,您自然不應該將大家的成果佔為己有, 而取消 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。
- A-主要版本編號
- B-次要版本編號
- C-修正版本編號
- TAG-名稱標籤,如 RELEASE、STABLE、CURRENT 等
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 主要的差異供讀者參考:
- SMPng (Symmetric MultiProcessor next generation) 對多顆 CPU 的支援有更好的效率。
- 對於新硬體的支援更完整。例如支援藍芽、32 bit 的 PCMCIA 等。FreeBSD 5.x
使用不同的方式管理硬體裝置,日後對於新的硬體支援應該會比較迅速。
- 更進步的檔案系統功能。FreeBSD 一項最大的弱點就是缺乏一個比較好的檔案系統格式,但 5.x 新增了一些新的功能改善即有的檔案系統。例如
background fsck,可以讓不正常關機後的系統可以更快速進入正常運作。FreeBSD 5.x 使用
UFS2,它支援更大的檔案及更多檔案屬性。另外,還有 snapshot 功能,可以讓我們對檔案系統進行快照,保留某一時間的檔案內容。
- 支援 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 |
多工 |
不多工 (我不知道怎麼稱呼...) |
高穩定性 |
可愛的藍底白字畫面 |
配備要求低廉 |
配備要求不低廉 |
對新硬體支援度低 |
對硬體支援度高 |
文字介面使用不便 圖形介面作的還不夠好 |
圖形介面使用方便 |