Linux以外的開源作業系統大彙總

InfoQ發表於2014-10-30

開源作業系統即公開原始碼的作業系統軟體,它遵循開源協議使用、編譯和釋出。自由和開放原始碼軟體中最著名的是Linux,它是一種類Unix的作業系統。Linux可安裝在各種計算機硬體裝置中,比如手機、平板電腦、路由器、視訊遊戲控制檯、臺式計算機、大型機和超級計算機。嚴格來講,Linux這個詞本身只表示Linux核心,但實際上人們已經習慣了用Linux來形容整個基於Linux核心,並且使用GNU 工程中各種工具和資料庫的作業系統。Linux存在著許多不同的Linux版本,但它們都使用了Linux核心。流行的Linux版本有Ubuntu、Debian、Fedora、openSUSE、CentOS、Red Hat等,移動開發領域使用最廣泛的Android也是基於Linux核心開發的作業系統。

除了Linux外,還有很多其它著名的開源系統,現對Linux以外的開源作業系統進行一次蒐集和整理,詳細內容如下:

1、KnightOS

KnightOS是一個專為TI Z80計算器編寫的開源作業系統,其程式碼託管在GitHub上。KnightOS提供了很多新特性,如開源,支援多工,可同時執行32個任務;具有基於樹型結構的檔案系統;具有跨平臺特性,能夠支援包括最新的銀版彩屏計算器在內的9種計算器、具有記憶體安全特性,重啟後不會影響使用者資料;KnightOS核心具有獨立特性,它採用類 Unix 的環境,使用Z80的組合語言編寫,開發者可以用它來編寫自己的作業系統;需要較少的記憶體,使用31K的記憶體即可執行程式。

2、ToAruOS

ToAruOS是一個由伊利諾伊大學電腦科學本科生開發的業餘愛好作業系統,其程式碼託管在GitHub上。ToAruOS可在POSIX和x86架構上執行,其最終的目標是一個微核心。ToAruOS的主要功能包括對程式和執行緒的支援、ELF二進位制的支援、執行時載入模組、管道(Pipe)和各種型別的終端裝置(TTY)的支援、虛擬檔案系統的支援、EXT2檔案系統的支援、訊號量支援等。

3、OSv

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構建的應用。

4、B2G

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還有一個與眾不同的功能,使用者能夠檢視應用的原始碼,就好像使用瀏覽器可以察看網頁程式碼一樣方便。

5、jsos

jsos是一個由來自澳大利亞的Charlie Somerville 於2010年使用JavaScript編寫的開源作業系統,其核心、C庫、編譯器和JavaScript虛擬機器都遵守簡單的BSD 協議釋出,其中核心包括了一些來至ToAruOS作業系統的程式碼。自從兩年前最後一次的更新維護,Jsos至今還沒有繼續更新。

6、Singularity

Singularity是一種實驗性、開源的微核心作業系統,它由微軟研究院設計、開發,該作業系統的核心、驅動程式以及應用程式都以“受控程式碼”寫成。Singularity的設計不以其效能為標準,而以系統穩定性作為首要標準。Singularity的低階x86中斷使用匯編語言和C語言寫成;Singularity的硬體抽象層使用C++語言編寫,並執行在安全模式下;另外,並且也有部分C程式碼負責除錯工作。

7、BareMetal OS

BareMetal OS是一個為X86-64系統開發、開源的64位作業系統,它使用匯編語言編寫且能夠使用C/C++開發應用程式,其程式碼託管在GitHub上。該系統的開發有三個適用場景,第一個是使用高效能的計算,能夠作為HPC叢集的節點,也能夠最為但認為系統以執行高負荷的計算任務;第二個是嵌入式應用,提供了基於x86-64硬體的嵌入應用開發平臺;第三個是提供教育和教學使用,提供了基於X86-64環境的組合語言的學習和實驗的環境。目前,該系統只是儘可能提供有用的功能,還沒有將其打造成通用作業系統(如Mac OS X、Linux、Windows)的計劃。

開源作業系統具有安全、穩定、免費或少許費用、能夠快速修復漏洞、有強大社群的大力支援等優點,同時還為大家提供了學習和交流的資源。開源作業系統在伺服器市場已佔有了絕對的優勢,同時在個人PC市場也正在發展壯大。目前,就連微軟對待Linux的態度都有了巨大的轉變,已從原來的將Linux比作毒瘤到現在的宣佈:微軟愛Linux的巨大轉變。

相關文章