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上运行的软件——由于有了微内核体系结构,即使是传统上紧密耦合的组件(如驱动程序)也可以单独分布,因此维护人员可以自由地选择他们喜欢的项目许可证。

发布了385 篇原创文章 · 获赞 13 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/AI_LX/article/details/104447664