尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

QSOE 0.1 版本发布:统一双内核系统,开启 RISC - V 操作系统新征程!

QSOE 0.1 版本发布:统一双内核系统,开启 RISC - V 操作系统新征程!
📅 发布时间:2026/6/30 17:06:39

QSOE 系统资讯

QSOE 是一款受 QNX 启发的操作系统,具备可选择的内核。2026 年 6 月,QSOE 0.1 版本已发布,这是统一双内核系统的首个公开版本。

QSOE 变体情况

QSOE 有两种变体,它们共享一个用户空间和一个构建系统。QSOE/N 运行在专门为该项目从头编写的微内核 Skimmer(设计支持 SMP)上;QSOE/L 则以 seL4 作为内核。编译后,这两种变体都会提供可直接在如 U - Boot 加载器中使用的内核和 initrd 文件。两种变体的用户空间完全相同;每个内核特有的部分只有任务管理器 `taskman` 和 C 库 `libc.so` ,C 库在源代码层面约 85% 是共享的,仅在与内核交互的薄层有所不同。该设计遵循 QNX Neutrino 的传统:小内核,其余功能都在用户空间;采用同步消息传递 IPC;服务使用资源管理器模型。QSOE 目标是在 SiFive HiFive Unmatched (`FU740`) 上运行 64 位 RISC - V (`RV64`, `Sv39`) ,日常开发使用 QEMU。目前,两种 QSOE 变体都能在真实硬件上启动。该系统根据 Apache - 2.0 许可证发布。

QSOE 下载方式

QSOE 可以从源代码构建,也可以安装预构建的二进制文件。每个版本的现成镜像都发布在指定处(当前版本:0.1)。文件如下:

  • [`skimmer.bin`]:Skimmer 微内核,即 QSOE/N 变体的内核。这是一个原始二进制镜像,由引导加载器(或 QEMU)与下面的用户空间包一起加载。
  • [`modpkg.cpio`]:模块包,即共享的 QSOE 用户空间(任务管理器、`init`、C 库、shell、驱动程序和实用工具),以 CPIO 存档形式存在。QSOE/N 将其作为 initrd 与 `skimmer.bin` 一起启动。
  • [`qsoe - l - qemu.elf`]:QSOE/L 变体(基于 seL4 内核),是适用于 QEMU `virt` 机器的单个自包含 ELF 文件。它将 elfloader、seL4 内核、任务管理器和用户空间捆绑在一起,启动时无需其他文件。
  • [`qsoe - l - sifive.elf`]:同样的 QSOE/L 镜像,为 SiFive HiFive Unmatched (FU740) 开发板构建。
  • [`mrbml - riscv64.efi`]:mr - bml,QSOE 自己的引导加载器(适用于 RISC - V 的 EFI 应用程序)。它可以加载任何一种变体,并在真实硬件上驱动引导菜单。
  • [`nvme.img.gz`]:一个可直接运行的自引导 QEMU 磁盘镜像(GPT)。其 EFI 分区包含 `mr - bml`,磁盘根目录包含两个内核,因此 QEMU 可直接进入 mr - bml 菜单,无需 `- kernel` 参数。这是查看 QSOE 运行的最快方式。
  • [`virtio.img.gz`]:仅在 QEMU 下运行 QSOE/L 时使用的配套根磁盘(原生 seL4 早于 QEMU 的 NVMe 所需的中断控制器,因此它从 virtio 磁盘挂载根目录)。QSOE/N 或真实硬件不需要此文件。

简而言之,要在 QEMU 中运行,下载 `nvme.img.gz`(如果需要 QSOE/L,还需下载 `virtio.img.gz`),并参考在 QEMU 下运行部分。要安装到真实硬件上,需要 `mrbml - riscv64.efi` 加上内核 —— QSOE/N 使用 `skimmer.bin` + `modpkg.cpio`,QSOE/L 使用 `qsoe - l - *.elf` 镜像之一 —— 并参考安装部分。

在 QEMU 下运行 QSOE

这是查看 QSOE 运行的最快方式,无需硬件,也无需处理 `- kernel` 参数。下载的 `nvme.img` 是一个自引导 UEFI 磁盘:QEMU 的固件从该磁盘运行 `mr - bml`,mr - bml 的菜单可直接从磁盘启动任意一种变体。

所需条件
  • `qemu - system - riscv64`:QSOE/N 需要版本 11.0.1 或更高(其 NVMe 需要 AIA 中断控制器)。
  • edk2 RISC - V UEFI 固件:在 Debian/Ubuntu 系统上,可通过 `qemu - efi - riscv64` 包获取。
  • 来自 [os] 仓库的启动器 `[run - nvme.sh]`:它会为每种变体配置合适的 QEMU 机器、固件和磁盘,无需手动操作。
运行步骤
# 解压镜像(如果需要 QSOE/L,添加 virtio.img.gz)gunzip nvme.img.gz virtio.img.gz# 将启动器指向镜像,并从菜单中选择一个变体NVME_IMG=./nvme.img VIRTIO_IMG=./virtio.img ./run - nvme.sh

可以传递 `n` 或 `l` 跳过菜单(`./run - nvme.sh n`)。脚本会自动选择匹配的 QEMU 机器 —— QSOE/N 使用带有 NVMe 根目录的 AIA 机器,QSOE/L 使用带有 virtio 根磁盘的 PLIC 机器。mr - bml 菜单和系统控制台都会显示在终端上,选择一个变体后,系统会启动到 `login:` 提示符。使用用户名 `root` 和密码 `QSOE` 登录。

QSOE 安装方法

适用于真实硬件和真实磁盘。QSOE 0.1 可在 SiFive HiFive Unmatched (FU740) 上启动,未来目标是 SpaceMiT K3。此安装过程假设开发板已运行 Linux,需要将文件放置在现有的 EFI 和引导分区上,因此需要熟悉开发板的固件。引导模型很简单:mr - bml 位于 EFI 系统分区;它从 ext2/3/4 分区读取菜单和内核;所选变体随后从 fs - qrv 分区挂载自己的根目录。

安装步骤
  1. 将 `mrbml - riscv64.efi` 复制到 ESP 中,命名为 `EFI/BOOT/BOOTRISCV64.EFI`(UEFI 可移动媒体路径),或者使用 `efibootmgr` 将其注册为引导条目。
  2. 在引导/根文件系统上创建 `/boot/qsoe/` 目录,并将内核复制到该目录:QSOE/N 使用 `skimmer.bin` + `modpkg.cpio`,QSOE/L 使用 `qsoe - l - sifive.elf`。
  3. 创建 `/boot/mr - bml/mr - bml.cfg` 文件,每种变体对应一个条目,例如:
# /boot/mr - bml/mr - bml.cfg — 根据磁盘调整 mainfs= 分区menuentry 'QSOE/N (Skimmer)' { kernel /boot/qsoe/skimmer.bin mainfs=/dev/nvme0n1p8 modpkg /boot/qsoe/modpkg.cpio}menuentry 'QSOE/L (seL4)' { kernel /boot/qsoe/qsoe - l - sifive.elf mainfs=/dev/nvme0n1p8}

`mainfs=` 指定了包含 QSOE 根文件系统(fs - qrv)的分区,需将其设置为开发板上分配给 QSOE 的分区。在真实硬件上,没有 QEMU virtio 分区的区别,两种变体都直接驱动 NVMe 磁盘。

从源代码构建 QSOE

QSOE 使用 `riscv64 - linux - gnu -` 交叉工具链(rv64gc)和标准 `make` 进行构建,QEMU 可用于测试。主仓库负责协调构建过程,并拉取与发布标签匹配的组件仓库。

git clone https://gitlab.com/qsoe/oscd osmake prepare # 获取此标签对应的组件(详见 component.list)make # 构建两种变体:先 QSOE/N,再 QSOE/Lmake dist # 可选:生成 QEMU 磁盘镜像(nvme.img.gz, virtio.img.gz)

QSOE/L 在 `make prepare` 过程中还会浅克隆 seL4 内核。构建过程会生成下载列表中的所有文件。整个项目遵循 Apache - 2.0 许可证,源代码位于指定处。

QSOE 文档情况

QSOE 手册以 PDF 格式与版本一同发布:

  • [`Design.pdf`]:架构文档,介绍双内核模型、任务管理器、IPC 和资源管理器设计。
  • [`UserGuide.pdf`]:用户指南,涵盖安装、shell、基本命令、文本编辑器和实用工具。
  • [`ProgrammingBook.pdf`]:编程手册,包括资源服务器框架章节。
  • [`AppPortingGuide.pdf`]:应用移植指南,介绍如何将 Unix(和 QNX)软件移植到 QSOE,包括 `fork()`、`brk()`、`select()` 等的处理。

QSOE 路线图规划

人们常说 Linux 内核没有路线图,但 QSOE 有。从当前的 0.1 版本到统一的 1.0 版本,规划了十个版本。这是一个工作计划,而非承诺,随着工作推进,里程碑可能会调整。

  • `0.1`:首次公开版本。双内核基础,共享用户空间,`/usr` 目录下为只读 `fs - qrv`,支持交互式 getty + 登录,源代码开放。(当前版本)
  • `0.2`:在 GK208(“Kepler”)上实现文本模式控制台,可在设备上显示,便于在硬件上查看实时音频工作,而不仅通过串口查看。
  • `0.3`:首个可写文件系统:qrvfs 支持文件创建/删除、`O_CREAT`/`O_TRUNC`、`realpath` 和符号链接解析。
  • `0.4`:经典的双面板文件管理器:QSOE 的旗舰应用,全面测试可写文件系统和用户空间。
  • `0.5`:首个 `deva - hdmi` 音频设备,为硬实时路径奠定优先级/中断/调度基础。
  • `0.6`:全面的一致性套件和音频实时包(在 N 核系统上支持最多 N 个硬实时任务)。
  • `0.7`:临近时确定具体内容。
  • `0.8`:第二个硬件目标(SpaceMiT K3,RVA23 类)和 AIA 中断架构(IMSIC/APLIC),使 MSI/MSI - X 在各开发板上统一工作。
  • `0.9`:推动 QNX - libc 兼容性:重新编译并运行一组 QNX 源代码实用工具,填补剩余的 libc 差距。
  • `1.0`:首个稳定版本:API 与 QNX 6.x 相当,旨在移植 QNX 用户空间软件(`fork` → `posix_spawn`)。

其他相关项目

早期及相关工作:

  • [GateMate PC]:基于 Cologne Chip GateMate FPGA 构建的个人计算机。
  • [GateMate System/359]:受 IBM S/360 启发的 FPGA 计算系统实现,具备 I/O 通道和强大的宏汇编器。
  • [QRV]:QNX 到 RISC - V 的移植(历史项目),为 QSOE/N 提供了硬件启动经验。

QSOE 服务内容

提供底层和系统软件的咨询与开发服务:

  • 基于微内核的操作系统
  • 系统库和底层运行时
  • 实时应用的虚拟化
  • RISC - V 系统启动
  • FPGA 的 AI 辅助开发

服务范围从专注的启动工作到长期的架构设计和实现。欢迎联系讨论具体需求。

关于 QSOE 系统

QSOE 系统是 Yuri Zaporozhets 的独立项目。Yuri Zaporozhets 是一位拥有 25 年以上底层软件开发经验的系统软件开发者,曾参与内核、操作系统、运行时以及相关硬件启动工作。

联系 QSOE

电子邮件是联系的最佳方式。

邮箱地址及其他相关平台信息可获取。

QSOE 系统未来会如何发展,能否顺利达成路线图中的目标呢?

相关新闻

  • 深度长文 | 计算机体系结构:核心原理、发展演进与未来趋势(计算机架构系列-1)
  • Lenovo Legion Toolkit:深度自定义联想笔记本性能控制的终极解决方案
  • 2026图片去水印方法:免费手机电脑工具、APP软件与在线网站教程

最新新闻

  • AI 创业融资策略:从技术壁垒到资本叙事的结构化拆解
  • HarmonyOS Floating TabBar:悬浮底部导航栏实战(HdsTabs + MiniBar + 模糊材质全指南)
  • Dify实战教程:从零搭建企业级AI应用,掌握低代码开发与工作流设计
  • 如何为PPT添加编辑限制密码?图文详解设置与移除方法
  • 2026年6月全球零代码网站制作工具盘点测评!不会编程也能做
  • 阿里云盘Refresh Token获取:3分钟扫码授权完整指南

日新闻

  • 【计算机毕业设计案例】基于 Spring Boot+Vue 的电影售票系统设计与实现 前后端分离架构下影院在线购票管理平台(程序+文档+讲解+定制)
  • 到底 TMD 用哪个: npm, pnpm, Yarn, Bun, Deno? 傻瓜, 当然用 npm 啦
  • Google限制Meta使用Gemini模型 凸显AI授权竞争白热化

周新闻

  • Windows字体自定义终极方案:No!! MeiryoUI完全指南
  • Deepin Boot Maker:告别命令行,3分钟制作Linux启动盘的智能解决方案
  • Plain Craft Launcher 2:重新定义你的Minecraft游戏体验

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号