AIGC标识 一个人写操作系统,一周出了初版

过去一周,我用 Rust 从零写了一个操作系统内核的初版。

不是课程作业,不是玩具,目标很明确:在 256MB 的边缘设备上,用 32MB 内核常驻内存跑起多容器服务。

为什么自己写?因为 Linux 在 256MB 设备上太吃力——空闲内存 50~80MB,跑两三个容器就超 200MB。RTOS 又没有 MMU,跑不了容器。两头都够不着。

那就自己写一个。

砍掉什么?

99% 的驱动(只留 UART、Timer、virtio)、glibc 兼容层(只支持 musl 静态链接)、图形/音频/USB 全栈。

留下什么?

完整 TCP/IP 网络栈 + epoll、Namespace + Cgroup、OverlayFS、NAT + conntrack、OTA 升级回滚。

为什么用 Rust?

内核里一个 UAF 就能让设备挂掉。Rust 的所有权模型在编译期杜绝这类问题。我一个人写,没有 Linus 级别的 Code Review 团队,这个代价必须付。

进度怎么样?

一周时间,M0-M3 已跑通——从 Bootloader 到内核入口,到内存管理,到多任务调度,再到用户态 shell。当前内核常驻约 18MB,已经比裁剪版 Linux 的 50~80MB 轻很多。

代码已开源:https://gitee.com/geng_qiankun/shanshui-guanxin/

一个人做操作系统这种事,放在几年前想都不敢想。但 Rust 的生态和 AI 辅助编程让这件事变得可能——AI 帮我做架构建议、处理生命周期难题、生成测试用例,我把精力集中在“做什么”而不是“怎么写”上。

如果你也对边缘计算、操作系统内核、或者“一个人搞点大项目”感兴趣,欢迎来聊聊。

项目名:山水观心操作系统

posted @ 2026-08-27 23:38  耿乾坤java  阅读(3)  评论(0)    收藏  举报