以Rust編寫的類Unix操作系統Redox OS發布0.5版
Redox OS 是一個幾乎完全以Rust 語言編寫的通用操作系統及周圍生態(例如文件系統、顯示服務器及Rust 版本的libc)。其遵循微內核架構,在一定程度上兼容於POSIX。該項目於日前發布了Redox 0.5 版本。自上次發布Redox OS 以來已經過去了一年零四天。在此期間,Redox 團隊一直在努力改善Redox 生態系統。
大部分努力集中於relibc,這是一個用Rust編寫並由Redox OS項目維護的新C庫;此外,cookbook添加了新的軟件包。
現在,relibc的能力已經超過了Redox此前依賴的C庫newlib。這一版本新增了許多重要的庫和程序。
粗略看來,此版本ISO 鏡像與上一個正式發布的版本0.3.5 無甚區別——擁有相同的登錄屏幕以及相同的默認背景和應用程序。但這本身就是一項成就。因為關於relibc 的工作很密集,幾乎觸及了系統的每個部分。
一旦深入了解,就會發現變化明顯。事件系統經過重新設計,為select 和poll 提供了正確的支持,並實現了完整的內存映射支持。實現了pthreads,以及一些與信號相關的系統調用。所有這些變化都為LLVM 提供了更好的支持。
此外,還有基於coreboot和EFI的新引導加載程序的新鏡像文件。Redox已經做了大量工作來為EFI Rust開發提供庫以及在Rust中開發coreboot payloads。這些bootloader項目可以根據需要改作它用。請參閱以下項目:
- bootloader-coreboot : 可以引導Redox 的Coreboot payload
- bootloader-efi:Redox的EFI引導加載程序
- coreboot-table : coreboot 表的解析器
- uefi : UEFI協議定義
- uefi_alloc : UEFI分配器
- uefi_std : UEFI運行時
更多變化信息載於其發布通告。
Redox 是編寫一個完整、功能齊全的通用操作系統的嘗試,關注於安全性、自由性、可靠性、正確性和實用性。
該項目團隊希望能夠在沒有障礙的情況下使用它作為Linux 的替代品。它一定程度上兼容於POSIX,因而應該能夠在無需大量修改的情況下運行大多數Linux 程序。
該項目旨在建立一個完整、安全的Rust 生態系統。這是一種設計選擇,有望提高正確性和安全性。
與其他類Unix 內核相比,Redox 項目希望通過使用安全默認值並在可能的情況下禁止不安全配置來改進安全性設計。
除了僅16000 行代碼的內核之外,Redox 項目還維護了諸多直接相關的周邊項目,這些項目大多是Redox 操作系統的一部分。例如,
- TFS: 文件系統,受ZFS 啟發;
- 離子:氧化還原殼;
- Orbital: Redox顯示服務器;
- OrbTK:一個小部件工具包。
- pkgutils: Redox 包管理庫及其命令行前端;
- Sodium: 類似Vi 的編輯器;
- ralloc: 內存分配器;
- libextra: libstd 的補充,在Redox 代碼中廣泛使用;
- games-for-redox: 一系列小遊戲(類似BSD-games);
- 以及一些其它項目(鏈接)。
需要說明的是,Redox目前還處於起步階段,距離實際應用還有很遠的距離。但是,Redox已經有了可用的圖形化界面支持,並能夠在虛擬機中運行。
Redox OS 主頁: