1. 程式人生 > >Redox OS 釋出 0.5 版

Redox OS 釋出 0.5 版

Redox OS 是一個幾乎完全以 Rust 語言編寫的通用作業系統及周圍生態(例如檔案系統、顯示伺服器及 Rust 版本的 libc)。其遵循微核心架構,在一定程度上兼容於 POSIX。

Redox OS 釋出 0.5 版Redox OS 釋出 0.5 版

該專案於日前釋出了 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 bootloader
  • coreboot-table : coreboot 表的解析器
  • uefi : UEFI協議定義
  • uefi_alloc : UEFI分配器
  • uefi_std : UEFI執行時

更多變化資訊載於其釋出通告

Redox 是編寫一個完整、功能齊全的通用作業系統的嘗試,關注於安全性、自由性、可靠性、正確性和實用性。

該專案團隊希望能夠在沒有障礙的情況下使用它作為 Linux 的替代品。它一定程度上兼容於 POSIX,因而應該能夠在無需大量修改的情況下執行大多數 Linux 程式。

該專案旨在建立一個完整、安全的 Rust 生態系統。這是一種設計選擇,有望提高正確性和安全性。

與其他類 Unix 核心相比,Redox 專案希望通過使用安全預設值並在可能的情況下禁止不安全配置來改進安全性設計。

除了僅 16000 行程式碼的核心之外,Redox 專案還維護了諸多直接相關的周邊專案,這些專案大多是 Redox 作業系統的一部分。例如,

  • TFS: 檔案系統,受 ZFS 啟發;
  • Ion: Redox shell
  • Orbital: Redox 顯示伺服器;
  • OrbTK: A widget toolkit.
  • pkgutils: Redox 包管理庫及其命令行前端;
  • Sodium: 類似 Vi 的編輯器;
  • ralloc: 記憶體分配器;
  • libextra: libstd 的補充,在 Redox 程式碼中廣泛使用;
  • games-for-redox: 一系列小遊戲(類似 BSD-games);
  • 以及一些其它專案(連結)

需要說明的是,Redox 目前還處於起步階段,距離實際應用還有很遠的距離。但是,Redox 已經有了可用的圖形化介面支援,並能夠在虛擬機器中執行

Redox OS 主頁:
https://www.redox