Redox随笔(1)-用Rust语言编写的类UNIX操作系统
Redox是一個用Rust語言編寫的類UNIX操作系統 , 它的目標是把Rust語言的創新帶入到一個現代的微內核和全系列的應用程序。
https://www.redox-os.org/zh/docs/
Rust語言實現
微內核設計
包括可選的GUI程序 - Orbital
支持Rust標準庫
MIT授權
驅動運行在用戶空間
包括常見的Unix命令
C程序的新移植庫
Redox source:
https://gitlab.redox-os.org/redox-os/redox
Redox是一個用pure Rust編寫的通用操作系統。我們的目標是提供一個功能完整的類unix微內核,既安全又免費。
我們與POSIX有適度的兼容性,允許Redox在無需移植的情況下運行許多程序。
我們的靈感來自于Plan9、Minix、Linux和BSD。Redox的目標是將多年的研究和得來不易的經驗綜合成一個讓人感覺現代和熟悉的系統。
此時,Redox支持:
所有的x86 - 64 cpu。
支持VBE的顯卡(過去十年中所有的Nvidia、Intel和AMD顯卡都支持VBE)。
AHCI磁盤。
E1000或RTL8168網卡。
英特爾HDA音頻控制器。
鼠標和鍵盤與PS/2仿真。
我們的目標
Redox試圖構建一個完整的、功能齊全的、通用的操作系統,其重點是安全、自由、可靠性、正確性和實用主義。
我們希望能夠毫無障礙地使用它,作為我們計算機上Linux的替代品。它應該能夠以最少的修改運行大多數Linux程序。
我們的目標是建立一個完整、安全的Rust生態系統。這是一種設計選擇,有望提高正確性和安全性(參見為什么會生銹)。
與其他類unix內核相比,我們希望通過使用安全的默認設置和盡可能不允許不安全的配置來改進安全性設計。
氧化還原的非目標
我們不是Linux的克隆體,也不是posix兼容的,我們也不是希望重新設計一切的瘋狂科學家。一般來說,我們堅持經過良好測試和驗證的正確設計。沒壞就別修。
這意味著大量的標準程序和庫將與Redox兼容。有些與我們的設計決策不一致的東西必須進行移植。
這里的關鍵是在正確性和兼容性之間進行權衡。理想情況下,你應該能夠兩者兼顧,但不幸的是,你不能總是這樣做。
我們的哲學
我們相信自由軟件。
Redox OS將只與兼容的自由軟件打包,以確保可以檢查、修改和重新分發整個默認發行版。不允許這些特性的軟件,即專有軟件,是違反安全和自由的目標的,并且不會得到Redox OS的認可。我們認可GNU自由系統發布指南。
要查看兼容許可的列表,請參考GNU許可列表。
Redox OS主要是由MIT x11風格授權的,包括所有軟件、文檔和字體。只有少數例外:
GNU Unifont,也就是GPLv2
Fira字體,這是SIL開放字體許可證1.1
Faba和Moka圖標,它們是GPLv3
Newlib C庫,這是一些自由軟件的許可證,大部分是BSD
NASM,即BSD 2-子句TODO: update
MIT x11風格的許可證具有以下特性:
它為軟件的用戶提供對軟件的完全和不受限制的訪問,以便您可以檢查、修改和重新發布您的更改
檢查任何人都可以檢查軟件的安全漏洞
任何人都可以修改軟件來修補安全漏洞
任何人都可以重新發布軟件來修補安全漏洞
它與GPL許可證兼容——以GPL形式獲得許可的項目可以使用Redox OS進行分發
它允許合并gpl不兼容的自由軟件,比如OpenZFS,它是CDDL許可的
然而,許可證并沒有限制可以在Redox上運行的軟件——由于有了微內核體系結構,即使是傳統上緊密耦合的組件(如驅動程序)也可以單獨分布,因此維護人員可以自由地選擇他們喜歡的項目許可證。
總結
以上是生活随笔為你收集整理的Redox随笔(1)-用Rust语言编写的类UNIX操作系统的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 深入理解call、apply、bind(
- 下一篇: Redox随笔(2)-用Rust语言编写