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系統。
他寫道: “……但不久就發現我們使用的操作系統在設計時都不具備處理大量 HTTP請求的能力。事實上,當時還沒有任何商業系統可以解決我們所面臨的擴展問題,這也是身處網絡技術最前沿所必須面對的無奈現實。
“…….我們又用過幾種平台,包括 SGI IRIX,Linux 和 BSDI,但性能和穩定性都不能令人滿意,我們只得繼續尋找。隨著 Yahoo 的日漸流行,平台的可擴展能力和穩定性是最關鍵的。那時我們 FreeB SD 還一無所知,但當讀到有關介紹時,我決定試它一試。
“……幾天之後我將一台FreeBSD系統加入我們的Web服務器集群中去,結果它的性能明顯優於其它機器,而且運行更穩定。試驗時間持續了幾個星期,我們對FreeBSD很滿意。這主要應歸功於FreeBSD的穩定性、運行性能和允許訪問源代碼的特點,它還具備誘人的價格優勢。從此,我們的產品和開發環境就幾乎離不開它了。”
關於網絡服務器操作系統的調查
前面提到的例子,只是FreeBSD應用實例的幾個,事實上在國外使用免費操作系統用做網絡服務器非常普遍和流行。雖然由於它屬於非商業產品,媒體一般不太關心它,但在Internet服務器領域中,它的重要性是無可否認的。為了了解Internet中的服務器到底都運行了那些系統,就需要對整個Internet進行調查。
顯然有很多種不同的調查方式,例如使用抽樣調查,或者發放調查表格等等,然而這些方法都有其局限性。而Int ernet Operating System Counter (ios++)是一次比較特別的調查,它的基本思路是對互聯網上所有服務器使用的操作系統進行識別並統計結果。iso++使用一個程序自動收集互聯網上的計算機地址,查詢計算機並判斷其使用的操作系統,雖然無法保證iso++能識別所有種類的操作系統,但毫無疑問它能識別絕大多數流行的操作系統。
遺憾的是,這次調查並沒有徹底完成,但這是由於人為而非技術的原因而不得不停止的。由於這個系統會掃描網絡中的所有主機,因此其行為類似於黑客程序的做法。在它對意大利的計算機進行網絡查詢時被一家以色列網絡安全公司懷疑為黑客入侵。然而即使如此,這次調查也運行了大約10天,掃描了上百萬台服務器,其結果也能真實反應網絡操作系統的真實面貌