Releases: HeBitOS/HBOS
Release list
0.1 Beta4 release
HBOS v0.1 beta4
64-bit 高分辨率图形命令行操作系统。beta4 是自 beta3 以来最大的一次更新:全新图形桌面、真实的 C 编译器与动态链接、BusyBox 命令行工具集、网络协议栈打通,以及大量真机兼容性修复。
✨ 亮点
- 全新图形桌面:窗口管理器(缩放/拖拽/吸附/最大化最小化动画)、Windows 11 风格居中任务栏、可搜索开始菜单、HarmonyOS Sans SC 抗锯齿字体、扁平矢量图标
- 11 个内置桌面应用:文件管理器、任务管理器(新)、计算器(long long + 科学计数法)、代码工作台、控制台终端(真实 shell)、浏览器、记事本、时钟、贪吃蛇、设置、文件统计
- TinyCC (TCC) C 编译器移植:系统内可直接编译运行 C 程序,支持
#include头文件解析 - 真实动态链接:
dlopen/dlsym/dlclose,支持运行时加载共享库 - BusyBox 移植:16 个真实 coreutils 命令(
ls cat cp mv rm mkdir touch which whoami wc head dirname basename true false echo pwd) - 网络协议栈:DHCP/ARP/ICMP/DNS/TCP/HTTP,Intel E1000 网卡驱动,
socket()用户态 API - 真机兼容性:修复真实硬件上的显示卡顿、USB 鼠标识别失败、PS/2 鼠标初始化问题
图形桌面
- 全新窗口管理器:任意方向拖拽缩放(带专属光标)、贴边吸附预览、最大化/最小化动画、窗口切换器(F6)
- Windows 11 风格居中任务栏:日历弹窗、亮度滑杆、"是否显示秒数"开关
- 开始菜单重做:居中弹出、图标网格、支持拼音/英文关键词搜索过滤,键入即可启动应用
- F1 一键呼出开始菜单(原来只能鼠标点击任务栏图标)——纯键盘即可到达任意应用
- HarmonyOS Sans SC 抗锯齿比例字体,F2/F3 运行时切换字号;代码编辑器与终端使用等宽点阵字体保证对齐
- 扁平矢量图标图集(文件管理器、磁盘、计算器、贪吃蛇、浏览器等均有专属图标)
- PS/2 鼠标从"卡顿加速曲线"改为线性 1:1 映射,真机与虚拟机手感一致;修复 IRQ12/IRQ2 级联未解除屏蔽导致真实鼠标失灵的问题
- 新增应用:
- 任务管理器:查看运行中任务的 PID/名称/状态/父 PID,可结束任务,显示物理内存占用条
- 计算器:数据类型升级为
long long(原为int,溢出上限约 21 亿),溢出后自动切换科学计数法显示(D.DDDDDDDDe+NN),历史记录同步支持 - 文件管理器:显示区域跟随窗口缩放/最大化动态放大,不再被裁死在固定像素高度
- 设置、时钟、控制台终端(跑真实 shell)
- 修复一批窗口/绘制越界问题:任务管理器与计算器内容曾画出窗口边界,文件管理器列表框固定高度导致最后几行叠在状态栏上
应用生态
- TinyCC (TCC) 编译器移植:
tcc file.c -o out系统内原生编译运行,修复了#include头文件解析、-shared动态库输出等问题 - 动态链接:新增
dlopen/dlsym/dlclose系统调用,接入内核 ELF 加载器,支持运行时加载.so共享库并调用其中符号 - .hax 应用格式:自动发现
./app下的用户程序,提供 SDK(hax.h),TUI/GUI 双模式支持 - BusyBox / coreutils 移植(16 个):
ls(-l/-a/-R/-d)cat cp mv rm mkdir touch which whoami wc head dirname basename true false echo pwd,均为独立.hax程序,与 shell 内置命令共存 make ask新增交互式应用选择:可逐个选择是否将app/下的用户程序打进 ISO
网络
- Intel E1000 网卡驱动完整实现(MMIO、收发环、中断轮询)
- 协议栈:DHCP 自动配置、ARP、ICMP ping、DNS 解析、TCP(单连接)、HTTP GET(
wget) - 用户态
socket()/connect()/send()/recv()API,经真实互联网连接测试可用 - 修复
send()系统调用返回值错误(原样返回内部状态码而非发送字节数,导致所有用户程序都误以为"发送了 0 字节") - 无 DNS 服务器时自动回退到
8.8.8.8
底层修复
- 任务切换时正确保存/恢复 FPU/XMM 寄存器状态(此前浮点/SSE 状态在任务间会互相污染)
- 修复
HBOS_SYS_GETDENTS系统调用返回整个文件系统而非当前打开目录的严重 bug - 修复用户态
struct stat与内核struct stat内存布局不一致(nlink_t宽度不匹配),导致跨越户态边界的stat()/fstat()返回垃圾大小/时间戳 - 修复
printf("%d"/"%u"/"%x")在 TCC 编译的程序中截断负数/大数的问题(可变参数按错误宽度读取,-7曾被打印成4294967289) - 真机图形卡顿修复:显存映射从写回(write-back)改为写合并(write-combining),解决真实硬件上画面每 5~6 秒才刷新一次的问题
- USB HID 鼠标识别修复:兼容未声明 boot-protocol 的真实鼠标(此前仅 QEMU 模拟鼠标能被识别)
- 用户态 hax 应用输入回显修复:此前运行 hax 应用时键盘输入不会显示在屏幕上
已知限制
- RTL8139、VirtIO-net 网卡驱动已检测但未实现,仅 Intel E1000 路径完整可用
- TCP 协议栈单一时刻仅正确追踪一个连接的收发序列号,尚非真正的并发多路复用
dlopen加载的共享库暂不能回调宿主程序自身定义的符号(TCC 默认不生成完整符号表,强制生成会触发另一个未解决的函数指针崩溃问题,已在代码中详细记录)
升级方式:直接使用新构建的 build/hbos-bios.iso / build/hbos-uefi.iso,或 make release 生成 VMware/VirtualBox 镜像。无持久化用户数据需要迁移(ramfs 为主,HBFS 磁盘数据不受影响)。
0.1-beta3-pre3
v0.1-beta3-pre3 Release version 0.1 beta3-pre3
0.1 Beta 2
第一周进展
HBOS 0.1 beta2 是面向开发者的阶段版本,
重点完善 BIOS/UEFI 双 ISO 构建、UEFI 虚拟机启动、POSIX/ramfs 文件工作流、HBFS 磁盘路径、Shell 文件命令、用户应用入口和 ACPI 关机支持。
该版本适合内核、文件系统、Shell、系统调用和用户程序方向的成员继续开发测试。
大家周末快乐
配置需求:bios请下载hbos-bios.iso ; uefi请下载hbos-uefi.iso
0.1 Beta 1
HBOS beta
这是 HBOS 的 beta 预发布版本,主要集中在中文显示、图形终端、Shell 命令模块化、键盘输入增强和初步多任务框架上。本版本已构建并生成 ISO 镜像:build/hbos.iso。
主要更新
中文/CJK 显示支持
- 支持构建时从 TTF 字体生成 HZK16 点阵字库。
- 内核可直接输出 UTF-8 中文/CJK 字符。
- 应用程序可通过控制台输出接口显示中文内容。
- 增加 CJK 标点和全角字符支持。
图形终端改进
- 基于 framebuffer 图形终端输出。
- 保留 VGA 文本模式回退路径。
- 修复中文字符定位、背景遮挡、标点显示等问题。
- 补齐图形 API,包括
console_set_title()和fb_fill_rect()。
Shell 与命令系统
- 基础命令已拆分到 src/tools/ 目录。
- 命令模块分类为 help、system、debug、history。
- 支持 history、clearhistory、search 等历史命令。
- 支持交互式 help 模式。
键盘输入增强
- 支持方向键、Home、End、PgUp、PgDn。
- 支持小键盘输入。
- 增加 NumLock 状态切换和键盘 LED 更新。
- NumLock 开启时小键盘输出数字,关闭时小键盘作为导航键使用。
- 修复删除字符时显示不同步的问题。
终端上下文浏览
- 支持 PgUp/PgDn 浏览终端历史上下文。
- 增加简单行级 scrollback 缓冲区。
初步多任务框架
- 加入协作式任务调度框架。
- 支持任务创建、主动让出、任务退出。
- 加入 x86_64 汇编上下文切换实现。
构建与工程整理
- 更新 README,记录 bata 版本能力。
- 内核启动横幅与 version 命令显示更新为 beta1。
- 完成一次全量代码审核并修复多个确定性问题。
- 已通过构建验证。
下载
请下载本 Release 附件中的 ISO 镜像:hbos.iso
运行方式
可使用 QEMU 启动 ISO 镜像:
qemu-system-x86_64 -cdrom hbos.iso -m 512M -boot d -serial stdio -vga std -monitor none
或在源码目录中使用 Makefile 提供的运行目标。
已知状态
- 文件系统仍处于框架阶段。
- ATA、PCI、完整内存管理和系统调用仍待继续开发。
- 当前多任务为协作式框架,尚不是完整抢占式调度。
0.1 alpha fix 3
0.1 alpha fix2
实现vmware、virtualbox等常用虚拟机的支持
help指令交互式(仿python)
v0.1 alpha fix1
v0.1 alpha fix1
增加1个命令 & 输出字符功能升级 & 命令记忆功能(MAX=64)
v0.1 alpha
v0.1 alpha
Note: This beta version may contain many bugs; we recommend using virtualization software such as QEMU or VMware.
This version includes only a subset of commands (see README.md for details).
注意:此测试版可能会有许多的bug,建议使用QEMU、VMware等虚拟机软件
此版本只加入了部分命令(详情请看README.md)