簡介
開源作業系統(open source operating system) ,就是公開原始碼的作業系統軟體,可以遵循開源協定(GNU)進行使用、編譯和再發布。在遵守GNU協定的前提下,任何人都可以免費使用,隨意控制軟體的運行方式。
源作業系統的發展史
開源作業系統的歷史是和GNU緊密聯繫在一起的。從1983年開始的GNU計畫致力於開發一個自由並且完整的類Unix作業系統,包括軟體開發工具和各種應用程式。到1991年 Linux 核心發布的時候,GNU已經幾乎完成了除了系統核心之外的各種必備軟體的開發。在Linus Torvalds和其他開發人員的努力下,GNU組件可以運行於Linux核心之上。整個核心是基於 GNU 通用公共許可,也就是GPL(GNU General Public License,GNU通用公共許可證)的,但是Linux核心並不是GNU 計畫的一部分。1994年3月,Linux1.0版正式發布,Marc Ewing成立了 Red Hat 軟體公司,成為最著名的 Linux 分銷商之一。
Unix & Linux歷史源流早期Linux的開機管理程式(boot loader)是使用LILO(Linux Loader),存在著一些難以容忍的缺陷,例如無法識別8G以外的硬碟,後來新增GRUB(GRand Unified Bootloader)克服了這些缺點,具有‘動態搜尋核心檔案’的功能,可以讓您在開機的時候,可以自行編輯您的開機設定系統檔案,透過 ext2 或 ext3 檔案系統中載入 Linux Kernel。 Linux 的標誌和吉祥物是一隻名字叫做 Tux 的 企鵝,標誌的由來是因為Linus在澳洲時曾被一隻動物園裡的企鵝咬了一口,便選擇了企鵝作為Linux的標誌。Linux的註冊商標是Linus Torvalds所有的。這是由於在1996年,一個名字叫做William R. Della Croce的律師開始向各個 Linux 發布商發信,聲明他擁有Linux商標的所有權,並且要求各個發布商支付版稅,這些發行商集體進行抗訴,要求將該註冊商標重新分配給 Linus Torvalds。Linus Torvalds 一再聲明 Linux 是免費的,他本人可以賣掉,但 Linux 絕不能賣。 Linux發行版的某些版本是不需要安裝,只需通過CD或者可啟動的USB存儲設備就能使用的版本,他們稱為 LiveCD。
特點
相對於不開源的作業系統,如Windows和Mac,開源作業系統最大的特點就是開放原始碼和自由定製,但也會因為使用者的技術水平等關係出現很多不可預知的情況及維護問題,並且由於多數硬體和軟體廠商並不支持開源軟體.所以在驅動和軟體源方面有很大困難,這就要求個人用戶在選擇系統時需要注意根據自己的實際情況來選擇,這也是目前個人使用開源作業系統較為困難的最主要原因。
類別
Unix-like類:Linux(這一族開發者眾多,發行版本以千計,復蓋所有平台,並支持所有檔案格式和所有網路協定)、FreeBSD、OpenBSD、NetBSD(復蓋所有平台)、DrangonflyBSD、Darwin/OpenDarwin/PureDarwin、Minix、GNU Mach/GNU Hurd、L4/Fiasco/Pistachio、syllable、禪OS
Unix類:Opensolaris、AuroraUX、Plan9、Inferno – Plan 9。
dos類:Freedos
windows-like類:ReactOS
原創類:House、KolibriOS、MenuetOS、HelenOS、Openvms
GoboLinux
GoboLinux是一個開源作業系統,其最顯著的特色是重新組織的檔案系統層次結構。它沒有遵循以往類UNIX作業系統的檔案系統層次結構標準(FHS)。在GoboLinux下,每個軟體都有自己的子目錄樹,其下包含它屬的所有檔案。因此,程式“Foo”的專屬檔案與庫都在" /Programs/Foo "目錄下。很明顯,“可執行”檔案位於" /Programs/Foo "。根據GoboLinux開發者的觀點,其意義在於構建一個在檔案層級上結構明晰的系統。
XFree86
XFree86是X視窗系統的其中一個實現,自1992年,它一直循著自由發放的開放原始碼模式被發展。它主要的運作平台是Unix類作業系統,包括各版本的UNIX、Linux、BSD、Solaris、Mac OS X、IRIX、OpenVMS及Cygwin/X等。
由2004年開始,它再不是以GPL軟體許可證的形式出現,而是使用XFree86®Project公司所擁有的XFree86 Licenseversion 1.1軟體許可證模式發放。現時XFree86仍由XFree86®Project公司負責開發,該公司的主要負責人是David Dawes。
自1992年至2004年,XFree86是X視窗系統最被廣泛使用的基建平台。其後,XFree86的開發因軟體許可證出現分岐,而派生出另一個發展自XFree86 4.4 RC2版本原始碼,名叫X.Org伺服器的X視窗系統。大部分使用XFree86的開源作業系統和開發者都轉為使用X.Org。XFree86從2008年底發布4.8.0以後已經完全停止更新。
ReactOS
ReactOS是一個開發與Windows NT和Windows 2000應用程式、硬體驅動程式兼容的開源作業系統項目。本項目雖然只是處於內部測試(alpha)開發狀態,但到2005年1月其中一些子項目已經完成了目標。
ReactOS主要是由C語言編寫。部分組件則由C++編寫,例如ReactOS檔案瀏覽器。
ReactOS的各部份在GNU通用公共許可證、GNU寬通用公共許可證、及/或BSD License下發布。
為確保作業系統沒有任何一部份是看過泄漏出來的微軟Windows源碼的人所寫,或者逆向工程的過程達不到Clean room design標準,一個全盤的源碼審查由ReactOS主要開發者下令展開。此審查已經退出。
套用
目前,Linux是最典型也是最多人使用的開源作業系統,在網路伺服器、高性能計算機和移動設備方面大放異彩,在辦公領域也取得了較大成就,但是在個人套用方面還僅限於有一定技術水平的愛好者。市面上有很多發行版,在中國最流行的有ubuntu(個人用戶最多)、Linux(硬體企業支持最好)等。
開源作業系統開發帶來的機遇
開源為開發作業系統提供機遇。透明、公開的開源作業系統問世,使得對作業系統內部架構的開發人員,獲得了了解作業系統體系架構的機遇,也使他們在這方面的知識產生飛躍;基於開源的作業系統可為開發工作節約大量人力、物力、財力和時間,可使作業系統的開發者們得以站在巨人肩膀上前進。因此開發基於開源的作業系統無疑是一條正確的開發路線。
近年來,很多基於Linux核心的作業系統相繼問世,如Android、WebOS、MeeGo等,便是採取了基於Linux核心的技術發展路線。
開源作業系統的體系架構
作業系統的體系架構,由其底層(Base Layer)、中間件層(Middle Ware Layer)、用戶體驗層(User Experience Layer)以及獨立配置的軟體模組,如安全模組(Secarity Module)所構成。
底層主要是其核心(Kernel);對中間件層,從開發者角度看,主要指開發環境和運行環境(Development Environment and Runtime Environment),從用戶角度看,主要指各種功能模組(Functional Modules)或套用架構(Application Framework);用戶體驗層(UE=UI+Applicaions),由用戶界面和各種應用程式所構成。所以,作業系統是一個多層架構、多元協定、許多構件構成的系統。
主幹通用核心與分支專用核心
很多作業系統是基於Linux核心來開發的。Linux基金會(Linux社區)負責“Linux核心”官方(Official)或主幹的各款通用版本的開發、發行和維護工作。對基於Linux核心的作業系統的開發者來說,可選擇某款Linux核心版本作為自己作業系統的核心,如果要對主幹版本進行修改以形成自己的分支核心版本時,必須將其修改部分及時反饋給主幹版本的維護管理者,取得他們對修改的認可,並在主幹Linux核心中登記註冊,最終使這個分支核心版本成為Linux核心大家庭中一員。
Android是基於Linux核心的作業系統。谷歌Android開發團隊在開發Android作業系統過程中,曾將配置在Linux核心中的一些驅動模組轉移到Linux核心之外,他們還重新定義、增設某些功能模組(如電源管理模組等),修改後一度引起了Linux社區與谷歌Android開發團隊之間的意見衝突,但最終還是通過協商取得了一致。上述案例表明,谷歌修改主幹 “Linux核心”變成自己分支 “Android核心”時,必須取得主幹Linux核心維護管理者的認可,並在其中登記註冊,使“Android核心”成為“Linux核心”的一部分!