天天看點

FreeBSD 介紹

FreeBSD的起源

在計算機領域,Unix一直是作為高端平台而出現的。幾年以前,隻有在大型機構的專用機房中才能接觸到它們,甚至稍小一些的機構也負擔不起購買Unix工作站的費用。隻有很少的使用者才有機會接觸和使用Unix,能管理和維護   Unix系統的計算機專業人員就更少了,這就使得Unix總是披着一層神秘的面紗,在普通使用者面前,Unix屬于一種難于使用、十分昂貴的作業系統。然而,當運作在個人電腦上的自由Unix系統出現之後,這種情況已經改變了。

事實上,今天的Unix已經不能說是一個單一的作業系統,它包括了非常多的種類,有高端的HP、SUN伺服器,也有中、低端的運作在Intel平台上的Unix系統。Unix不再是普通使用者可望而不可及的作業系統了,每個喜愛Unix的人都可以在自己的PC機中安裝上一套Unix系統,學習它、使用它。而中小企業也可以使用PC伺服器來運作Unix系統,充分利用Unix系統的強大處理能力。

FreeBSD就是一種運作在Intel平台上、可以自由使用的Unix系統,它可以從Internet上免費獲得。而它又具備極其優異的性能,使它得到了計算機研究人員和網絡專業人士的認可。是以,不但專業科研人員把它用作個人使用的Unix工作站,很多企業,特别是ISP(Internet服務提供商)都使用運作FreeBSD的高檔PC伺服器來為他們的衆多使用者提供網絡服務。

  FreeBSD的起源

自從1969年AT&T   Bell實驗室研究人員創造了Unix之後,Unix就不斷發展,逐漸成為了主流作業系統。雖然目前Windows系列已經占據了桌面計算機的領域,其中Windows   NT伺服器也在網絡伺服器領域得到了部分使用者的承認,但在高檔工作站和伺服器領域,Unix仍然具有無可替代的作用。尤其在用作Internet伺服器方面,Unix的高性能、高可靠性、以及高度可擴充的能力仍然不是其他作業系統所能夠代替的。

雖然Unix由AT&T創造,但它如此流行卻并不能完全歸功于AT&T自己的功勞。現代Unix不是一個廠家的單獨産品,在它長期的發展過程中形成了多種不同的版本。惟其豐富多樣,才使得Unix具有強大的生命力。FreeBSD正是Unix衆多分支中相當優秀的一支,它的發展曆史也相當悠久,是著名的BSD   Unix的一個繼承者,是以要了解FreeBSD發展的曆史,首先就要了解Unix發展的曆程。

  Unix的曆史發展

Unix作業系統的曆史漫長而曲折,它的第一個版本是1969年由Ken   Thompson在AT&   T貝爾實驗室實作的,運作在一台DEC   PDP-7計算機上。這個系統非常粗糙,與現代Unix相差很遠,它隻具有作業系統最基本的一些特性。後來Ken   Thompson和Dennis   Ritchie使用C語言對整個系統進行了再加工和編寫,使得Unix能夠很容易的移植到其他硬體的計算機上。從那以後,Unix系統開始了令人矚目的發展。

由于此時AT&T還沒有把Unix作為它的正式商品,是以研究人員隻是在實驗室内部使用并完善它。正是由于Unix是被作為研究項目,其他科研機構和大學的計算機研究人員也希望能得到這個系統,以便進行自己的研究。A   T&T以分發許可證的方法,對Unix僅僅收取很少的費用,大學和研究機構就能獲得Unix的源代碼以進行研究。Unix的源代碼被散發到各個大學,一方面使得科研人員能夠根據需要改進系統,或者将其移植到其他的硬體環境中去,另一方面培養了懂得Unix使用和程式設計的大量的學生,這使得Unix的普及更為廣泛。

由于作業系統的開發相當困難,隻有少數的計算機廠商,如IBM、Digital等大型公司,才擁有自己的作業系統,而其他衆多生産計算機的硬體廠商則采用别人開發的作業系統。因為Unix不需要太多的花費,是以很多廠商就選擇了Unix作為他們生産的計算機使用的作業系統。他們把Unix移植到自己的硬體環境下,而不必從頭開發一個作業系統。

到了70年代末,在Unix發展到了版本6之後,AT&T認識到了Unix的價值,成立了Unix系統實驗室(Unix   System   Lab,USL)來繼續發展Unix。是以AT&T一方面繼續發展内部使用的Unix版本7,一方面由USL開發對外正式發行的Unix版本,同時AT&T也宣布對Unix産品擁有所有權。幾乎在同時,加州大學伯克利分校計算機系統研究小組(CSRG)使用Unix對作業系統進行研究,是以他們的研究成果就反映在他們使用的Unix中。他們對Unix的改進相當多,增加了很多當時非常先進的特性,包括更好的記憶體管理,快速且健壯的檔案系統等,大部分原有的源代碼都被重新寫過,以支援這些新特性。很多其他Unix使用者,包括其他大學和商業機構,都希望能得到CSRG改進的Unix系統。是以CSRG中的研究人員把他們的Unix組成一個完整的Unix系統──BSD   Unix(Berkeley   Software   Distribution),向外發行。

BSD   Unix在Unix的曆史發展中具有相當大的影響力,被很多商業廠家采用,成為很多商用Unix的基礎,而AT&T與其同時存在的Unix版本的影響就小得多。同時很多研究項目也是以BSD   Unix為研究系統,例如美國國防部的項目─ARPANET,ARPANET今天發展成為了Internet,而BSD   Unix中最先實作了TCP/IP,使Internet和Unix緊密結合在一起。

而AT&T的Unix系統實驗室,同時也在不斷改進他們的商用Unix版本,直到他們吸收了BSD   Unix中已有的各種先進特性,并結合其本身的特點,推出了Unix   System   V版本之後,情況才有了改變。從此以後,BSD   Unix和Unix   System   V形成了當今Unix的兩大主流,現代的Unix版本大部分都是這兩個版本的衍生産品。

Unix的版本号表示方式比較複雜,各種不同的Unix版本有自己的版本辨別方式,如最早AT&T開發的内部Unix使用簡單的順序号來辨別版本,從V   1到V   7。

BSD使用主版本加次版本的方法辨別,如4.2BSD,4.3BSD,在原始版本的基礎上還有派生版本,這些版本通常有自己的名字,如4.3BSD-Net/1,4.3BSD-Net/2。

AT&T使用羅馬數字來辨別他們的對外釋出的Unix版本,用Release來表示次版本。如Sys   tem   V   Release   4(簡寫為SVR4)辨別AT&T的Unix   System   V的第四次釋出的版本。

其他商業公司的Unix使用自己的版本辨別,如Sun的Solaris   2.6,IBM的AIX   4.0等。

雖然AT&T的Unix   System   V也是非常優秀的Unix版本,但是BSD   Unix在Un   ix領域内的影響更大。AT&T的Unix系統實驗室一直關注着BSD的發展,在1992年,Unix系統實驗室指控BSDI── 一家發行商業BSD   Unix的公司,違反了AT&T的許可權,釋出自己的Unix版本,并進一步指控伯克利計算機系統研究組洩漏了Unix的商業機密(此時的4.3BSD中來自AT&T   Un   ix的代碼已經不足10%)。這個官司影響了很多Unix廠商,使他們不得不從BSD   Unix轉向Unix   Sys   tem   V,以避免法律問題。以至于當今大多數商業Unix版本都是基于Unix   System   V的。

這件有關Unix版權的案子直到Unix系統實驗室被AT&T賣給了Novell公司後才得以解決,   Novell不打算陷入這樣的法律紛争中,是以就采用了比較友好的做法。伯克利的CSRG被允許自由釋出BSD,但是其中來自于AT&T的代碼必須完全删除。是以CSRG就對他們最新的4.4BSD進行了修改,删除了那些來自于AT&T的源代碼,釋出了4.4   BSD   Lite版本(該系統是不完整的,尤其對于英特爾386體系的計算機系統)。由于這個版本不存在法律問題,4.4BSD   Lite成為了現代BSD系統的基礎版本。

Novell的比較友善的做法還不止對BSD,他把自己的Unix改名為Unixware, 而将Unix商标贈送給X/Open── 一個由衆多Unix廠家組成的聯盟,這樣這個聯盟内的所有成員均可使用Unix商标。從此之後,Unix不再是專有産品了。後來Novell由于自身的經營問題,又将Unixware賣給SCO公司。同時,由于BSD系統已經十分成熟,作為對作業系統進行研究的目标已經達到,伯克利計算機系統研究組(CSRG)在釋出了4   .4BSD-lite2之後就解散了,小組的科研人員有些進入了Unix商業公司,有些繼續進行其他計算機領域的研究。此時,嚴格意義上的Unix   System   V和BSD   Unix都不複存在了,存在的隻是他們的各種後續版本。

回顧Unix的發展,可以注意到Unix與其他商業作業系統的不同之處主要在于其開放性。在系統開始設計時就考慮了各種不同使用者的需要,因而Unix被設計為具備很大可擴充性的系統。由于它的源碼被分發給大學,進而在教育界和學術界影響很大,進而影響到商業領域中。大學生和研究者為了科研目的或個人興趣在Unix上進行各種開發,并且不計較金錢利益,将這些源碼公開,互相共享,這些行為極大豐富了Unix本身。很多計算機領域的科學家和技術人員遵循這些方式,開發了數以千計的自由軟體,包括FreeBSD在内。正因為如此,當今的Internet才如此豐富多采,與其他商業網絡不同,才能成為真正的全球網絡。開放是Unix的靈魂,也是Internet的靈魂。

由于Unix的開放性,另一方面就使得存在多個不同的Unix版本。由于不同的Unix使用稍有差别的檔案、目錄結構,提供略有不同的系統調用,是以對系統管理、以及為Unix開發可移植的應用程式帶來一定的困難。例如Sys   tem   V和BSD的很多系統調用就存在不同。在Unix曆史發展中也存在将Unix完全統一的努力,例如POSIX   規範就是各個Unix廠商經過協商,達成的Unix作業系統應該遵循的一套基本系統調用的規定。然而由于存在多個Un   ix系統,各個廠商的意見很不統一,是以POSIX規範制定的很寬松,甚至Windows   NT中也存在一個POSI   X子系統。事實上,隻要各個Unix之間協調發展,不故意為了商業目的而人為的制造系統差異,就能夠保持各個Unix   之間不緻具有太大的差别,保持Unix系統的多樣性比隻有唯一的一個Unix系統更能夠促進技術的進步和發展,企圖人為的統一Unix的想法隻能是某一個Unix廠商的一廂情願。

有時為了避免法律糾紛,表明自己的程式代碼是完全重寫的,一個軟體廠商會故意将一些函數聲明的與其他系統的中的同類函數不同,例如使用不同的函數參數或改變函數參數的順序等。Unix   System   V中的很多系統調用與BS   D   Unix不同的部分原因也在于此。這些差異人為造成了不同系統的源程式的差異。

  FreeBSD的起源和發展

Unix的魅力不僅在于其功能的強大性,還在于其優秀的可擴充性,它提供了進階語言C和各種解釋語言可用于編寫程式。利用這些系統提供的工具,使用者就能按照自己的需要和興趣對原有系統進行擴充,滿足相當一部分計算機研究人員和使用者的需要,這樣Unix就具備更強大的能力,完成各種複雜的任務。一旦用熟了Unix,體會到Unix   的強大功能,使用者就會希望一直使用它,而不是僅具備有限能力的其他計算機系統。企業也希望能在其可以承受的條件下,利用Unix系統的強大處理能力。

由于Unix是多使用者作業系統,作為系統的普通使用者隻能使用系統提供的有限功能,而隻有Unix系統管理者才能充分利用其的全部能力。因而擁有自己的Unix系統也是一個普通Unix使用者的願望。但是在那些時候,能夠滿足這些願望的計算機并不是每個人都能買得起的。昂貴的硬體,以及Unix逐漸商業化趨勢,都使得擁有自己的Unix對大多數人隻是美好的願望,而使用Unix的地方主要為一些要求較高的科研和大中型公司機構。

到80年代,個人計算機的出現,使得硬體的價格能被個人和小企業接受了,給擁有一個Unix系統的願望帶來了一線曙光。但是使用8086晶片的個人計算機能力比較差,在其上不能實作真正正常工作的多使用者系統。進入九十年代之後,英特爾公司推出的80386晶片使個人計算機的計算能力大大提高,在個人計算機上建構一個可以真正使用的Unix也成為了可能。

事實上此時能運作在X86平台上的Unix相當有限,Mircosoft的Xienx是一種(後來發展成為S   CO   Unix),但不能指望能自由、免費使用這個商用系統。要移植Unix到PC平台上便需要Unix的源代碼,而此時受AT&T的許可權的限制,Unix代碼還不能被自由獲得(但在BSD與AT&T的法律糾紛之後的4.4   BSD   Lite不再受這個限制了,可以在BSD許可下自由使用)。很多計算機愛好者為了實作一個可以自由使用的作業系統,不但進行着努力。自由軟體基金會的GNU計劃的目的就是打算建立一個自由的、與Unix類似的作業系統,為了實作這個目的,GNU開發了很多非常有效的工具、包括編譯器和很多系統指令,然而GNU計劃中的作業系統核心 ──HURD,卻進展緩慢,進而無法建構一個完整的作業系統。很快,就有計算機愛好者開始考慮在個人計算機平台上建構一個Unix核心。芬蘭一位計算機研究所學生Linus   Torvalds開始了這個工作,他通過學習Minix──一個用于教學目的的簡單Unix系統,在x86平台上建構了Linux核心,這個核心和GNU的系統工具結合起來,取得了相當大的成功,成為目前非常流行的GNU/Linux系統。

與這些努力相比,BSD方面的研究人員的行動則比較遲緩,一個原因是Unix技術上已經相當成熟,計算機系統研究組的大部分成員已經把注意力轉向了其他研究項目,另外AT&T與BSD的法律紛争也使得BSD發展受到了阻礙。但是還是有兩個将BSD移植到80386平台的開發工作同時進行,一個是BSD/386小組,他們的研究結果為商業版本的BSD/OS,屬于商業公司BSDI。另一個就是386BSD計劃,後來發展成為FreeBSD。

CSRG研究人員的條件比較優越,擁有足夠的Unix系統,是以對個人計算機平台上的Unix系統沒有太急迫的要求。

386BSD計劃由Bill   Jolitz等研究人員發起,将4.3BSD   Net/2移植到80386平台上,并使用386BSD的名稱釋出。但是移植工作是一個複雜的任務,直到386BSD   0.5版本,系統中仍然存在相當多的問題沒有解決。于是在1993年,另一些研究者決定加入這個計劃,打算和Bill   Jolitz一起修正系統中存在的問題。但是這時計劃的組織者Bill   Jolitz突然決定退出,使得386BSD計劃面臨停止的危險。Bil   l   Jolitz作為計劃的發起者和負責者并沒有對這個計劃以後該如何發展給出具體意見,是以386BSD計劃是到此為止還是繼續發展,就取決于其他開發者的決定。幸運的是,該項目的另三個參與者Nate   Williams,   Rod   Grimes和Jordan   K.   Hubbard決定繼續這項非常有意義的工作,他們采用由David   Green   man創造的名字FreeBSD作為系統的新名字,從此有了一種任何人都可以自由使用的Unix作業系統 ──   Fr   eeBSD。

BSD   Unix使用一個神話中的精靈形象作為其吉祥物,這個吉祥物标志被FreeBSD、NetBSD繼續使用,但不同BSD系統的精靈略有不同,右圖為FreeBSD的BSD精靈形象。當使用者浏覽Internet時,會在很多與FreeBSD相關的網站上看到這個可愛的精靈标志。

1993年12月對于FreeBSD來講是非常重要的日子,FreeBSD   1.0版本于這個月正式釋出。這次FreeBSD的開發者找到了一家出版商Walnet   Creek提供支援,來釋出FreeBSD的CD光牒和提供高速   Internet網絡服務,使得任何人都可以通過購買CD光牒或者通過Internet下載下傳的方法,自由獲得FreeBS   D系統,使得FreeBSD取得了很大成功。而Walnet   Creek也使用FreeBSD建成了Internet   上最大、最繁忙的匿名檔案伺服器──ftp.cdrom.com。

FreeBSD雖然可以自由獲得,然而BSD與AT&T的法律糾紛仍然威脅着FreeBSD系統的合法性。就在FreeBSD得到相當多使用者歡迎的時候,Unix系統實驗室(此時已經賣給了Novell)與伯克利計算機系統研究小組的法律紛争有了結論。雖然最後不必進行賠償,但是BSD   Unix系統中必須去除原來來自AT&   ;T的源碼。伯克利計算機系統研究小組去除了這些不到10%源碼,釋出了4.4BSD   Lite,其他基于BSD的U   nix,包括FreeBSD在内,都被要求立即轉換到4.4   BSD   Lite上去。

這對FreeBSD是一次相當嚴重的打擊,雖然4.4   BSD   Lite隻删除了一小部分代碼,但尤其對于英特爾80386平台,缺乏這些代碼,系統就不能正常運轉。FreeBSD小組必須解決兩個任務,首先是将FreeBS   D從原本的4.3BSD遷移到4.4BSD上,再将删除的源碼完全重寫。這些任務相當于将4.4BSD   Lite重新移植到80386上,是以這花費了FreeBSD核心小組很大的精力。是以直到1995年1月他們才釋出了FreeB   SD   2.0,這次就是一個完全的4.4BSD   Lite的系統了。但是在大約一年時間之内,FreeBSD不能在原有1.0基礎上進行改進并推出新版本,而這個時期正是Internet進一步發展的階段,FreeBSD錯過了一個發展壯大的好時機。而其競争對手,如Linux,則取得了巨大的成功。

接下來,FreeBSD加快了開發節奏,2.1、2.2、3.0相繼推出,這個系統在Internet上的應用也越來越多,尤其是對于要求高性能、高可靠性的網絡伺服器系統,FreeBSD提供了一個極具誘惑的選擇。

由于Unix商标屬于X/Open組織,而FreeBSD隻是一個自由作業系統,從法律角度上看FreeBS   D不能被叫作Unix(不能使用Unix做商标)。但是基于Unix本身的曆史,FreeBSD可以算最原汁原味的U   nix,在有的方面,它更具傳統特色──或者說BSD   Unix的學院特色。目前,Unix商标其實是隻具有象征性的含義,沒有人介意到底那些系統是X/Open的成員,可以被稱作Unix,那些不是。Unix已經成為一個廣泛的概念,隻要是按照Unix為模闆進行開發,所有的應用程式在C源程式級與其他Unix互相相容,也同樣被所有使用者承認為   Unix系統。是以這裡的Unix包括BSD和System   V在内的各種系統,也包括像Linux這樣的相容系統。

目前FreeBSD的版本

由于FreeBSD十分關心系統的性能和穩定性,同時FreeBSD的開發又非常活躍并十分開放。是以在系統開發中支援幾個版本的FreeBSD系統并行發展,一些版本用于提供一個最具穩定性的作業系統,另一些版本逐漸融合進各種新特性,使FreeBSD不斷發展。目前主要使用的FreeBSD有三個分支版本:

FreeBSD2.2.x-stable:這個分支是目前Internet上大部分網絡伺服器上使用的FreeBSD版本,經過無數實踐驗證,具有高穩定性的特點。但是由于3.0版本已經正式釋出,FreeBSD的開發者已經于1999年1月決定停止對這個版本的開發,這個FreeBSD的分支版本進入維護狀态,将僅僅進行修補一些可能存在的系統漏洞等工作。是以除非是現存的FreeBSD系統,或者為了特殊目的要使用一些基于2.2.x開發的特殊軟體,新安裝的FreeBSD系統應該使用FreeBSD-3.x版本。這個系列中最後一個正式釋出的CD光牒版本為F   reeBSD   2.2.8-release。

FreeBSD3.x-stable:這個版本的第一個正式版本3.0-release,它于199   8年10月正式釋出,随後就成為了穩定版本。它與2.2相比增加了對很多新硬體的支援,并進一步提高了性能。對于安裝新的FreeBSD系統來講,應該選用這個版本。目前已經釋出了FreeBSD   3.2-release。

FreeBSD4.0-current:于1999年1月産生,同時FreeBSD   3.x-cur   rent分支轉變為FreeBSD   3.x-stable分支。目前還沒有任何正式釋出版本,需要通過Interne   t獲得源代碼進行安裝。

可以看到,FreeBSD的版本使用current或stable字尾進行修飾,其中使用stable修飾的版本是一個穩定的版本,它不是FreeBSD的最新版本,主要關心系統的性能和使用的連續性,同一個stable分支中的下一個版本主要是修訂系統問題,是以stable分支得到很多商業使用者的歡迎。current表示這個版本是正在開發的版本,還不成熟,它更關心新特性,每種可能的特性都被開發者嘗試加入進FreeBSD中,但并不保證以後的正式釋出版本會支援所有的特性,一些特性會因為不成熟或對大部分使用者無益,即使曾經加入也可能從正式版本中去除。通常Fr   eeBSD的愛好者和開發者使用這個分支,或者一些需要某些FreeBSD的新特性的使用者,就必須使用這個分支。

FreeBSD選用current和stable來修飾FreeBSD不但是因為FreeBSD是一個不斷發展、更新的系統,而且FreeBSD還是一個由Internet上的使用者參與開發、使用Internet交流開發工作的系統。這與商業軟體不同,商業軟體的開發工作在公司内部,外界不能通路正在開發的版本,不能對要開發的軟體發表意見和提出建議。而FreeBSD則相反,任何人隻要通過Internet,都可以通路到FreeBSD的源碼,并且Fr   eeBSD開發者鼓勵别人通路目前正在開發的源程式,鼓勵提建議和進行自己的FreeBSD開發計劃,如果這個計劃的确不錯,那麼這個開發者就能被邀請進入FreeBSD開發組,他的計劃就能被合并到正式的FreeBSD開發中去。但是,如果一個系統老是處于不斷開發的過程,沒有一個穩定的版本,顯然得不利于希望将FreeBSD用在日常業務處理任務的普通使用者。是以FreeBSD并存着兩個同時發展的版本,stable版本為穩定版本,相當于商業軟體中的對外發行的版本,current版本為正在開發的版本。當一個current版本已經足夠穩定,這個版本就轉變為stabl   e版本,而FreeBSD開發組将轉入下一個current版本的開發工作。

除了current和stable之外,還有另外兩個字尾用來修飾FreeBSD的二進制發行版本。一個是r   elease,如FreeBSD   3.0-release,表示這是一個正式發行的FreeBSD版本,但這個版本可以處于current分支或stable分支。但如果一個FreeBSD的current分支釋出了release版本,這将表示它離進入stable狀态不遠了,此後該版本實際上不會再作太大的改動,已經是一個完全可用、足夠穩定的   FreeBSD版本了。另一個字尾是snapshot,如FreeBSD   4.0-snapshot,表示這是一個預覽版本,用于FreeBSD愛好者提前檢視current分支目前的開發狀态,嘗試新特性用的。FreeBSD的CD光牒發行版本常常使用這兩個詞進行修飾。

是以對于FreeBSD使用者,需要根據情況選擇使用不同的版本。對于正式使用,應該選擇stable版本,而對于進行學習、研究、開發FreeBSD,可以考慮使用current版本。

  FreeBSD的功能特點

  FreeBSD的運作環境是使用英特爾x86系列處理器的個人計算機,當然在AMD和Cyrix等公司的相容晶片上運作也毫無問題(FreeBSD也被移植到使用sparc和alpha晶片上的RISC工作站環境上,然而這些平台不是FreeBSD的主要運作平台,相應的移植版本也不太完善)。

從FreeBSD的起源和發展過程可以看出,FreeBSD是一種自由Unix系統,它是由計算機科學家、軟體工程師等志願者通過Internet合作開發的,目的是為所有的使用者提供沒有任何附加條件的自由Unix作業系統。初次接觸自由軟體的人,也許會懷疑軟體的應用功能、性能等問題。但免費獲得的方式和使用個人計算機硬體環境并不意味着FreeBSD系統僅僅是個人使用者的玩具,事實上FreeBSD能夠完成幾乎所有其他Unix能完成的工作,應用範圍十分廣泛,并且性能非常優秀。在網絡上使用FreeBSD用作網絡伺服器作業系統非常普遍,FreeBSD也是使個人計算機成為高性能Unix工作站的一條捷徑。

  FreeBSD的特點和應用範圍

FreeBSD主要特點是它的高性能和高可靠性,除了BSD   Unix本身已經是一個非常成熟的作業系統,F   reeBSD開發小組也基于實際工作任務,花費了相當多的時間進行系統調試,以取得最大性能和最高可靠性。它的性能和可靠性并不遜于任何商用Unix系統,甚至更為優秀。

--FreeBSD是真正的32位作業系統,不是任何16位作業系統的更新版本。它是十分成熟的BSD   Un   ix向英特爾386體系的處理器進行移植的結果,系統核心不包含任何16位代碼,也不需要相容任何16位軟體,進而提高了系統穩定性。

--FreeBSD具有可調整的動态優先級搶占式多任務能力。使多個應用程式能夠十分平滑的共享系統資源,即使在高負載下仍然能在不同任務間平緩切換,而不會發生由于個别任務獨占系統資源,其他任務是以而發生停頓、死鎖現象,也決不會造成整個系統死鎖。

--FreeBSD是多使用者作業系統,可以支援多個使用者同時使用FreeBSD系統,共享系統的磁盤、外設、處理器等系統資源。每個使用者也可以同時啟動多個任務,使得工作效率更高。

--FreeBSD全面支援TCP/IP協定。FreeBSD能夠十分友善的和其他支援TCP/IP的系統內建在一起,用作Internet/Intranet伺服器,提供NFS,ftp,email,www,路由和防火牆能力。

--其作業系統内部的存儲器保護機制使每個應用程式和使用者互不幹擾。一旦一個任務崩潰,其他任務仍然照常運作。由于FreeBSD中不存在任何16位代碼,這使得這一點能夠真正實作,保證了系統的強壯性。

--FreeBSD中使用另一個著名自由軟體,XFree86,來提供工業标準的X視窗系統(X11R6),在X上可以運作多種圖形界面軟體提供友善使用者使用的圖形界面和應用軟體。

--它也支援在英特爾的386晶片上運作的其他Unix作業系統的二進制執行檔案,包括SCO   Unix,B   SD/OS,NetBSD,Linux等。能夠直接運作這些系統的二進制應用程式而不需重新編譯,這極大的豐富了Fr   eeBSD下的可使用的應用軟體。

--FreeBSD的Ports   Collections包括了成千個立即可以使用的應用程式,使得安裝應用程式十分簡便。FreeBSD與其他多種Unix在源碼級相容,并且由于BSD在Unix和Internet發展中的巨大影響,大多數軟體是在類似BSD的系統下開發的,是以FreeBSD是最容易移植的平台,在Internet上有很多的軟體很容易移植到FreeBSD上。

--高效的虛拟存儲器管理結構,可以按照需要合理配置設定記憶體空間,隻有在必要的時候,記憶體中的資料才被交換到交換裝置上去。并且磁盤緩沖區不是單獨劃分出來的,而是和虛拟存儲器結合為一體,使FreeBSD既能夠高效的滿足要求大量記憶體的應用程式,又能最大效率的利用記憶體來緩沖硬碟資料,提高讀、寫硬碟效率。

--具有動态共享連接配接庫的能力,使應用程式能夠共享庫函數(類似Windows下的DLL),充分利用記憶體和磁盤空間。

--FreeBSD下包括了各種進階語言和各種開發工具,C,   C++,   Fortran,   perl,   T   cl/Tk,   cvs   等。這使得軟體開發和移植非常友善。

--FreeBSD提供系統的全部源代碼,這樣可以按需定制系統和進一步更改系統,提供了對應用環境的最大控制。另一方面這些源代碼會經過世界範圍内的程式員的檢驗和測試,避免系統中内嵌未知的惡意病毒代碼。

--提供了線上文檔和手冊等豐富的技術資料。

FreeBSD的主要應用範圍可以在網絡伺服器方面,但是FreeBSD的應用并不局限于此,具體怎樣使用F   reeBSD完全依賴于使用者的目的,FreeBSD能夠滿足各種不同的需要。

網絡伺服器

Internet應用

是FreeBSD使用最廣的領域之一,因為Internet的前身,APPRNET的開發者,正是使用BSD   Unix來實作的TCP/IP協定。是以FreeBSD具有最成熟、最穩定的TCP/IP實作,非常适合用作FTP伺服器,WWW伺服器,電子郵件伺服器,域名伺服器,USENET新聞伺服器以及電子公告牌系統等網絡伺服器系統,此外,FreeBSD也能将廉價的個人計算機改變為軟體路由器,防火牆裝置。

用做網絡伺服器最重要的要求是穩定性,是以一般要安裝FreeBSD的stable分支。FreeBSD   2   .2.x-stable分支在實際使用中已經證明了它具備非凡的穩定性,在網絡上關于作業系統崩潰的調查中,對Fre   eBSD崩潰次數的報道卻很少,是以被稱為   ”Rock-stable   performance”   (堅如磬石)。考慮到大部分個人計算機硬體的穩定性比專用的Unix網絡伺服器硬體的穩定性要差,就可以看出FreeBSD作業系統的穩定性是如何優秀了。FreeBSD   3.x-stable分支繼承了2.2.x-stable的優點,雖然還沒有經過足夠時間的考驗,但也可推斷其性能和穩定性相當優秀。

個人工作站

FreeBSD的另一個方面的應用是将FreeBSD作為個人工作站的作業系統。專業Unix工作站價格昂貴,但FreeBSD充分利用了個人計算機硬體價廉的優勢,以自己具備的優秀性能,使個人擁有高性能的Unix工作站成為可能。個人工作站要求工作在圖形環境下,這需要運作X伺服器軟體,FreeBSD下有免費的XFree86和另一些商業X伺服器軟體,此外還包括X   Window操作環境,例如免費的KDE或商業操作環境CDE等。

使用FreeBSD個人工作站時,除了性能要求之外,還必須有合适的應用軟體進行支援。FreeBSD下可以運作大量的Unix程式,包括用于研究的各種軟體包、軟體開發所需的進階語言編譯器、提供圖形界面的Xwindow和   Xwindow下的各種應用等。這些軟體通常是在不同的Unix下進行開發的,但由于不同的Unix均不同程度受到B   SD的影響,FreeBSD都是這些軟體可以移植的首選平台,而FreeBSD本身也提供了很好的機制用于簡化軟體的安裝和配置。

上面提到的軟體通常是提供源程式的Unix軟體,這些軟體可以很容易移植到FreeBSD系統中。但絕大多數商業軟體不提供源程式,僅僅提供在某些平台下運作的二進制檔案。在不同Unix下運作的二進制程式,即使都是英特爾平台下的程式,但作業系統對執行程式的處理略有不同,造成了執行程式格式的差異。FreeBSD提供了支援其他在英特爾平台上運作的商業Unix執行程式能力,如BSD/OS、SCO   Unix、SCO   UnixWare、Solari   s   x86和Linux。通過支援這些Unix的執行代碼,FreeBSD下的應用程式更為豐富。

還可以将FreeBSD工作站代替昂貴的專用X終端,或者使用FreeBSD進行Unix下的軟體開發等,将   FreeBSD系統用作不同的目的。

使用FreeBSD的執行個體

在熟悉了FreeBSD之後,就不會有人懷疑這個系統的性能了,因為這已經被Internet上無數使用Fr   eeBSD作伺服器的執行個體所證明過的。FreeBSD是Internet上非常流行的一種網絡作業系統,應用執行個體很多。下面給出了一些著名的站點執行個體,當然FreeBSD的實際應用不隻是這些例子中使用的範圍。

  Yahoo  

作為Internet上具有傳奇色彩的成功網站的典範,衆人了解的Yahoo通常是它具備豐富的内容、年輕的億萬富翁傳奇等内容。很少有人關心到底Yahoo是使用什麼技術來建構他們的網站,也許很多人潛意識裡認為它一定是由昂貴的專用伺服器組成的,其實Yahoo是使用多台普通Pentium個人計算機來提供這麼大的通路能力的,而在這些計算機上運作的就是FreeBSD系統。

可以在Yahoo中搜尋   “Yahoo   and   FreeBSD”   ,就能搜尋到一篇由Yahoo的創始人之一David   Filo寫的介紹Yahoo為什麼使用FreeBSD的文章   “Yahoo!   and   FreeBSD   ”(http://www.freebsdmall.com/newsletter1/yahoo_and_freebsd.phtml)  

他寫道:   “……但不久就發現我們使用的作業系統在設計時都不具備處理大量   HTTP請求的能力。事實上,當時還沒有任何商業系統可以解決我們所面臨的擴充問題,這也是身處網絡技術最前沿所必須面對的無奈現實。

“…….我們又用過幾種平台,包括   SGI   IRIX,Linux   和   BSDI,但性能和穩定性都不能令人滿意,我們隻得繼續尋找。随着   Yahoo   的日漸流行,平台的可擴充能力和穩定性是最關鍵的。那時我們   FreeB   SD   還一無所知,但當讀到有關介紹時,我決定試它一試。

“……幾天之後我将一台FreeBSD系統加入我們的Web伺服器叢集中去,結果它的性能明顯優于其它機器,而且運作更穩定。試驗時間持續了幾個星期,我們對FreeBSD很滿意。這主要應歸功于FreeBSD的穩定性、運作性能和允許通路源代碼的特點,它還具備誘人的價格優勢。從此,我們的産品和開發環境就幾乎離不開它了。”    

國内的163.net等免費郵件系統

在國内,雖然FreeBSD還不是廣為人知,事實上它的應用卻非常有名。網易公司基于FreeBSD開發的免費郵件系統,已經運作在www.163.net、www.263.net、www.371.net等網站上。

在網易的首頁上(http://www.163.com),有網易公司丁磊的一篇文章   “PC不隻是便宜的工作站”   ,介紹網易為何選擇FreeBSD。

關于網絡伺服器作業系統的調查

前面提到的例子,隻是FreeBSD應用執行個體的幾個,事實上在國外使用免費作業系統用做網絡伺服器非常普遍和流行。雖然由于它屬于非商業産品,媒體一般不太關心它,但在Internet伺服器領域中,它的重要性是無可否認的。為了了解Internet中的伺服器到底都運作了那些系統,就需要對整個Internet進行調查。

顯然有很多種不同的調查方式,例如使用抽樣調查,或者發放調查表格等等,然而這些方法都有其局限性。而Int   ernet   Operating   System   Counter   (ios++)是一次比較特别的調查,它的基本思路是對網際網路上所有伺服器使用的作業系統進行識别并統計結果。iso++使用一個程式自動收集網際網路上的計算機位址,查詢計算機并判斷其使用的作業系統,雖然無法保證iso++能識别所有種類的作業系統,但毫無疑問它能識别絕大多數流行的作業系統。

遺憾的是,這次調查并沒有徹底完成,但這是由于人為而非技術的原因而不得不停止的。由于這個系統會掃描網絡中的所有主機,是以其行為類似于黑客程式的做法。在它對意大利的計算機進行網絡查詢時被一家以色列網絡安全公司懷疑為黑客入侵。然而即使如此,這次調查也運作了大約10天,掃描了上百萬台伺服器,其結果也能真實反應網絡作業系統的真實面貌。

這次網絡調查的首頁為:http://www.hzo.cubenet.de/ioscount/  

對Internet上的Web伺服器使用的作業系統的調查

調查日期:   從1998年9月9日到9月19日

排名 作業系統 主機數量 占識别出的主機比率

  1.     Linux   171623   26.3%    

  2.     Windows   95/98/NT   152682   23.4%    

  3.     BSD   Family   147602   22.6%    

  4.     Solaris/SunOS   94230   14.4%    

  5.     IRIX   29384   4.5%    

  6.     Mac/Apple   13736   2.1%    

  7.     AIX   10865   1.7%    

  8.     HP/UX   10237   1.6%    

  9.     Reliant   Unix/Sinix   3971   0.6%    

  10.     Digital   Unix   3775   0.6%    

  11.     SCO   Unix   2507   0.4%    

  12.     Novell   Netware   2285   0.4%    

總數   642899   98.6%    

上表是其對Internet上Web伺服器的調查結果,可以看出,以FreeBSD為主的BSD家族的作業系統(還包括BSD/OS、NetBSD和OpenBSD,但這些系統的使用者要少于FreeBSD的使用者),在網絡伺服器中占據第三名的位置,而其百分比與前兩名不相上下。如果要考慮到相應Web伺服器的重要性,使用FreeBSD等Unix系統的Web伺服器,無論從其服務的重要性還是提供網絡資料的流量來講,都是使用Windows作業系統的伺服器無法相比的。

上一篇: FreeBSD 6.0

繼續閱讀