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 版的更多相关文章

  1. RaisingStudio.SessionFactory 发布 0.1版

    功能描述: 1. 支持Orchard中方便使用自定义数据库连接. 2. 连接信息可配置. 用法: 1. 构造函数中添加IRepositoryFactory引用 private readonly IRe ...

  2. 将 ASP.NET Core 1.0 应用作为 docker 镜像发布 (Linux版)

    var appInsights=window.appInsights||function(config){ function r(config){t[config]=function(){var i= ...

  3. RapidJSON 1.0 正式版发布,C++的JSON开发包

    分享 <关于我> 分享  [中文纪录片]互联网时代                 http://pan.baidu.com/s/1qWkJfcS 分享 <HTML开发MacOSAp ...

  4. Apache DolphinScheduler 3.0.0 正式版发布!

    ​  点亮 ️ Star · 照亮开源之路 GitHub:https://github.com/apache/dolphinscheduler   ​ 版本发布 2022/8/10 2022 年 8 ...

  5. Redis 3.0正式版发布,正式支持Redis集群

    Redis是一个开源.基于C语言.基于内存亦可持久化的高性能NoSQL数据库,同时,它还提供了多种语言的API.近日,Redis 3.0在经过6个RC版本后,其正式版终于发布了.Redis 3.0的最 ...

  6. 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 ...

  7. 【6年开源路】海王星给你好看!FineUI v4.0正式版暨《FineUI3to4一键升级工具》发布!

    去年10-28号,我发布了一篇文章<海王星给你好看!FineUI v4.0公测版发布暨<你找BUG我送书>活动开始>,标志着FineUI开始向4.0版本迈进.经过4个月3个公测 ...

  8. Appium路线图及1.0正式版发布

    Appium更新的速度极快,从我试用时候的0.12到1.0(0.18版本后就是1.0),完全符合移动互联网的节奏. 更新可能会慢,可以多试几次 整理了testerhome上思寒发表的帖子,让我们来看下 ...

  9. [Android应用]《花界》V1.0 正式版隆重发布!

    http://www.cnblogs.com/qianxudetianxia/archive/2012/04/05/2433669.html 1. 软件说明(1). 花界是一款看花软件:“看花,议花, ...

随机推荐

  1. TensorFlow线性回归

    目录 数据可视化 梯度下降 结果可视化 数据可视化 import numpy as np import tensorflow as tf import matplotlib.pyplot as plt ...

  2. 【Spark机器学习速成宝典】模型篇02逻辑斯谛回归【Logistic回归】(Python版)

    目录 Logistic回归原理 Logistic回归代码(Spark Python) Logistic回归原理 详见博文:http://www.cnblogs.com/itmorn/p/7890468 ...

  3. UVA 1025 -- A Spy in the Metro (DP)

     UVA 1025 -- A Spy in the Metro  题意:  一个间谍要从第一个车站到第n个车站去会见另一个,在是期间有n个车站,有来回的车站,让你在时间T内时到达n,并且等车时间最短, ...

  4. Uep的静态下拉和动态下拉建立

    uep的静态下拉和动态下拉的建立极其省事,下面介绍静态下拉的建立 静态下拉 第一步:点击增加,输入信息 第二步: 第三步:保存 第四部: 静态下拉就建立完毕了 下面介绍动态下啦建立,动态下拉更简单 动 ...

  5. Android 面试汇总<三>

    1.3 计算机网络 基础 Q:五层协议的体系结构分别是什么?每一层都有哪些协议? 技术点:网络模型.协议 思路:分条解释每层名字以及协议 参考回答: 物理层 数据链路层:逻辑链路控制LLC.媒体接入控 ...

  6. Computer Network Homework2’s hard question

    Computer Network Homework2’s hard question 2. What is the signal which is used to modulate the origi ...

  7. Windows下C/C++内存泄露检测机制

    1.概述 在Windows下微软给我们提供了一个十分强大的C/C++运行时库,这个运行时库中包含了很多有用的功能.而众多强大功能之一就是内存泄露的检测. C/C++提供了强大的内存管理功能,不过随之而 ...

  8. React之defaultProps、propTypes

    1.新增知识点 /** React中的组件: 解决html 标签构建应用的不足. 使用组件的好处:把公共的功能单独抽离成一个文件作为一个组件,哪里里使用哪里引入. 父子组件:组件的相互调用中,我们把调 ...

  9. java:struts框架4(Ajax)

    1.Ajax: 先导入jar包: struts.xml: <?xml version="1.0" encoding="UTF-8"?> <!D ...

  10. mybatis 动态SQL .2

    目录 1.动态SQL:if 语句 2.动态SQL:if+where 语句 3.动态SQL:if+set 语句 4.动态SQL:choose(when,otherwise) 语句 5.动态SQL:tri ...