開源操作系統即公開源代碼的操作系統軟件,它遵循開源協議使用、編譯和發布。自由和開放源代碼軟件中最著名的是Linux,它是一種類Unix的操 作系統。Linux可安裝在各種計算機硬件設備中,比如手機、平板電腦、路由器、視頻游戲控制台、台式計算機、大型機和超級計算機。嚴格來講,Linux 這個詞本身只表示Linux內核,但實際上人們已經習慣了用Linux來形容整個基於Linux內核,並且使用GNU 工程中各種工具和數據庫的操作系統。Linux存在著許多不同的Linux版本,但它們都使用了Linux內核。流行的Linux版本有Ubuntu、 Debian、Fedora、openSUSE、CentOS、Red Hat等,移動開發領域使用最廣泛的Android也是基於Linux內核開發的操作系統。
除了Linux外,還有很多其它著名的開源系統,現對Linux以外的開源操作系統進行一次搜集和整理,詳細內容如下:
KnightOS是一個專為TI Z80計算器編寫的開源操作系統,其代碼托管在GitHub上。KnightOS提供了很多新特性,如開源,支持多任務,可同時運行32個任務;具有基於 樹型結構的文件系統;具有跨平台特性,能夠支持包括最新的銀版彩屏計算器在內的9種計算器、具有內存安全特性,重啟後不會影響用戶數據;KnightOS 內核具有獨立特性,它采用類 Unix 的環境,使用Z80的匯編語言編寫,開發者可以用它來編寫自己的操作系統;需要較少的內存,使用31K的內存即可運行程序。
ToAruOS是一個由伊利諾伊大學計算機科學本科生開發的業余愛好操作系統,其代碼托管在GitHub上。ToAruOS可在POSIX和x86 架構上運行,其最終的目標是一個微內核。ToAruOS的主要功能包括對進程和線程的支持、ELF二進制的支持、運行時加載模塊、管道(Pipe)和各種 類型的終端設備(TTY)的支持、虛擬文件系統的支持、EXT2文件系統的支持、信號量支持等。
OSv是由Dor Laor和Avi Kivity領導的以色列創業公司Cloudius Systems發布的虛擬化、開源的操作系統,采用BSD許可協議授權,其代碼托管在GitHub上。OSv的開發動機是由於今天大部分的應用都是跑在雲 端的 GNU/Linux虛擬機上,而GNU/Linux在設計之初並非為虛擬化而設計,像多用戶和多進程的模式不但造就了復雜性而且也成為今天的 hypervisor的性能障礙。OSv旨在在雲端取Linux。OSv能夠使得一個應用程序跑在一個虛擬機上,這樣就不需要kernel-land到 user-land 的隔離,從而降低上下文切換的損耗;在啟動速度方面,OSv只需要2秒就能啟動完成;在安全性方面,目前,OSv支持檢測use-after-free; 在網絡方面,OSv完全繼承了FreeBSD的TCP/IP協議棧;在文件系統方面,OSv支持ZFS。另外,OSv還為應用程序提供了新的API,既支 持原生的Linux應用,還支持原生的JVM和基於JVM構建的應用。
B2G是“Boot To Gecko”的縮寫,它是Mozilla公司基於Web標准開發的完全開放的移動操作系統,其代碼托管在GitHub上,從系統本身到應用程序完全由 HTML5、CSS和JS來寫的。B2G采用了linux內核和部分Android技術。目前,B2G已經被移植到了Galaxy S II、Nexus S 4G等Android手機上。B2G的前期目標是低價的功能機市場,先讓功能機用戶以同樣的價格用上智能機。B2G不同於Android和IOS等平台, 它完全基於Web標准,沒有私有API和SDK,完全托付給Web API,這樣就省去了開發SDK的步驟,開發者也省去了安裝調試以及學習SDK的步驟。另外,B2G還有一個與眾不同的功能,用戶能夠查看應用的源碼,就 好像使用浏覽器可以察看網頁代碼一樣方便。
jsos是一個由來自澳大利亞的Charlie Somerville 於2010年使用JavaScript編寫的開源操作系統,其內核、C庫、編譯器和JavaScript虛擬機都遵守簡單的BSD 協議發布,其中內核包括了一些來至ToAruOS操作系統的代碼。自從兩年前最後一次的更新維護,Jsos至今還沒有繼續更新。
Singularity是一種實驗性、開源的微內核操作系統,它由微軟研究院設計、開發,該操作系統的核心、驅動程序以及應用程序都以“受控代碼” 寫成。Singularity的設計不以其性能為標准,而以系統穩定性作為首要標准。Singularity的低級x86中斷使用匯編語言和C語言寫 成;Singularity的硬件抽象層使用C++語言編寫,並運行在安全模式下;另外,並且也有部分C代碼負責調試工作。
BareMetal OS是一個為X86-64系統開發、開源的64位操作系統,它使用匯編語言編寫且能夠使用C/C++開發應用程序,其代碼托管在GitHub上。該系統的 開發有三個適用場景,第一個是使用高性能的計算,能夠作為HPC集群的節點,也能夠最為但認為系統以運行高負荷的計算任務;第二個是嵌入式應用,提供了基 於x86-64硬件的嵌入應用開發平台;第三個是提供教育和教學使用,提供了基於X86-64環境的匯編語言的學習和實驗的環境。目前,該系統只是盡可能 提供有用的功能,還沒有將其打造成通用操作系統(如Mac OS X、Linux、Windows)的計劃。
開源操作系統具有安全、穩定、免費或少許費用、能夠快速修復漏洞、有強大社區的大力支持等優點,同時還為大家提供了學習和交流的資源。開源操作系統 在服務器市場已占有了絕對的優勢,同時在個人PC市場也正在發展壯大。目前,就連微軟對待Linux的態度都有了巨大的轉變,已從原來的將Linux比作 毒瘤到現在的宣布:微軟愛Linux的巨大轉變。