自由和開放原始碼軟體中最著名的是 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 的巨大轉變。
相關閱讀
評論(2)