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 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-os.org/ 。
Redox OS 发布 0.5 版的更多相关文章
- RaisingStudio.SessionFactory 发布 0.1版
功能描述: 1. 支持Orchard中方便使用自定义数据库连接. 2. 连接信息可配置. 用法: 1. 构造函数中添加IRepositoryFactory引用 private readonly IRe ...
- 将 ASP.NET Core 1.0 应用作为 docker 镜像发布 (Linux版)
var appInsights=window.appInsights||function(config){ function r(config){t[config]=function(){var i= ...
- RapidJSON 1.0 正式版发布,C++的JSON开发包
分享 <关于我> 分享 [中文纪录片]互联网时代 http://pan.baidu.com/s/1qWkJfcS 分享 <HTML开发MacOSAp ...
- Apache DolphinScheduler 3.0.0 正式版发布!
点亮 ️ Star · 照亮开源之路 GitHub:https://github.com/apache/dolphinscheduler 版本发布 2022/8/10 2022 年 8 ...
- Redis 3.0正式版发布,正式支持Redis集群
Redis是一个开源.基于C语言.基于内存亦可持久化的高性能NoSQL数据库,同时,它还提供了多种语言的API.近日,Redis 3.0在经过6个RC版本后,其正式版终于发布了.Redis 3.0的最 ...
- Moon.Orm 5.0(MQL版)使用指南及代码生成器新版发布
相关博文1)Moon.Orm 5.0 (MQL版) 配置说明; 2)Moon.Orm 5.0 (MQL版) 版本维护及下载(跟踪发布); 3)Moon.Orm 5.0系列文章; 4)Moon.Orm ...
- 【6年开源路】海王星给你好看!FineUI v4.0正式版暨《FineUI3to4一键升级工具》发布!
去年10-28号,我发布了一篇文章<海王星给你好看!FineUI v4.0公测版发布暨<你找BUG我送书>活动开始>,标志着FineUI开始向4.0版本迈进.经过4个月3个公测 ...
- Appium路线图及1.0正式版发布
Appium更新的速度极快,从我试用时候的0.12到1.0(0.18版本后就是1.0),完全符合移动互联网的节奏. 更新可能会慢,可以多试几次 整理了testerhome上思寒发表的帖子,让我们来看下 ...
- [Android应用]《花界》V1.0 正式版隆重发布!
http://www.cnblogs.com/qianxudetianxia/archive/2012/04/05/2433669.html 1. 软件说明(1). 花界是一款看花软件:“看花,议花, ...
随机推荐
- 阿里镜像源配置yum
通过more /etc/*release* 查看系统版本 (需要下载对应的系统版本) mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/Cen ...
- 全面解读php-流程控制
一.PHP遍历数组的三种方式 示例: $arr = [1, 2, 3 4, 'five' => 5]; 1.for () for循环只能用于遍历纯索引数组!如果存在关联数组,count统计时会 ...
- 浅谈2-SAT
引入: 相信大家都了解过差分约束系统.差分约束系统的大体意思就是给出一些有某种关系的变量,问你是否有某种赋值使得这些关系全部成立 其实\(2-SAT\)的题目描述和这个很像(虽然解法不一样) 那么\( ...
- centos7 apache php git pull
mkdir /usr/share/httpd/.ssh cp /root/.ssh/* /usr/share/httpd/.ssh chown -R apache:apache /usr/share/ ...
- leetcode 140 单词拆分2 word break II
单词拆分2,递归+dp, 需要使用递归,同时使用记忆化搜索保存下来结果,c++代码如下 class Solution { public: //定义一个子串和子串拆分(如果有的话)的映射 unorder ...
- 浏览器端-W3School-JavaScript-HTML DOM:HTML DOM Attribute 对象
ylbtech-浏览器端-W3School-JavaScript-HTML DOM:HTML DOM Attribute 对象 1.返回顶部 1. HTML DOM Attribute 对象 HT ...
- Maven POM 模板[z]
https://juejin.im/post/5cc826a5f265da03a33c443a [z]https://juejin.im/post/5cc826a5f265da03a33c443a S ...
- 慕课网_文件传输基础——Java IO流
第1章 文件的编码 1-1 文件的编码 (15:07) 第2章 File 类的使用 2-1 File 类常用 API 介绍 (10:50) import java.io.File; import ja ...
- LeetCode.12-整数转罗马数字符串(Integer to Roman)
这是悦乐书的第351次更新,第376篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Medium级别的第6题(顺位题号是12).罗马数字由七个不同的符号表示:I,V,X,L,C,D和M. ...
- Altera DDR2 IP核学习总结3-----------DDR2 IP核的使用
根据上一篇生成的IP核,例化之后如上图,Local开头的数据是用户侧数据,其他数据暂时不用纠结,不用管. 这些是需要关注的信号,但是初学阶段很难对这些信号形成具体的概念,这里参考明德扬的代码进行二次封 ...