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. vue网址路由的实时检测

    有些时候,我们需要实时的检测网址,来进行判断,操作,处理等等 我们需要使用 watch 的监视器,然后直接进行操作 我们需要 ’$route.path‘   属性来进行监听,且需要加引号,然后只要页面 ...

  2. iOS 的 Gif 渲染

    关于gif的展示,有些项目中很少用到,所以有的人对于这方面了解不是很多 下面介绍几种展示gif的方法,希望大家可以用得上,有更好的方法欢迎评论区留言 一,展示本地的gif,使用的SDWebImage里 ...

  3. CircleCi 不更新某个分支的两种方法

    概述 今天我发现我的所有项目的 CircleCi 部署全部都会更新 gh-pages 分支.找了好久,终于找到了不更新的方法.于是我总结了一下,记录下来,供以后开发时参考,相信对其他人也有用. onl ...

  4. C# 实现播放RTSP 标准协议码流播放

    http://www.codeproject.com/Articles/507218/Managed-Media-Aggregation-using-Rtsp-and-Rtphttp://www.st ...

  5. windows 10 右键菜单 使用vscode打开 快捷键

    呼出菜单栏(鼠标右键或快捷键shift+f10)之后按i 资料: 1.如何为windows 10添加右键context menu item https://stackoverflow.com/ques ...

  6. 阶段3 2.Spring_10.Spring中事务控制_7 spring基于注解的声明式事务控制

    创建新项目 复制上一个pom.xml的内容.依赖和打包的方式 再复制src的代码过来 bean.xml.多导入context的声明 Service的实现类增加注解 dao的set方法删掉 通过Auto ...

  7. IDEA和VS快捷键对比

    IDEA和Visual Studio快捷键对比 VS     F5 F9            resume programe 恢复程序     Alt+F10       show executio ...

  8. jenkins 配置 gitlab webhook 实现自动发布

    测试环境需要git提交代码后,Jenkins自动部署,需要gitlab配置project webhook. 1,Jenkins版本2.89  gitlab 8.11 2,Jenkins需要安装插件:G ...

  9. nginx配置thinkphp项目(nginx下去掉index.php)

    server { listen 80; server_name xxxxx; root "/www/public"; location / { index index.html i ...

  10. python基础--面向对象之绑定非绑定方法

    # 类中定义的函数分为两大类, #一,绑定方法(绑定给谁,谁来调用就自动将它本身当做第一个参数传入) # 1,绑定到类的方法:用classmethod装饰器装饰的方法. # 对象也可以掉用,仍将类作为 ...