>_ DevTrendszh

语言

首页

语言

板块

前端 后端 移动端 DevOps AI / ML 游戏开发 区块链 嵌入式 安全
C

用神经网络在 64 次会话中编写操作系统

最近我偶然发现了 VibeOS 项目,它激发了我一种有趣的情绪——既兴奋又略带羡慕。作者决定从零开始为 ARM64 架构编写一个功能完整的操作系统。但最有趣的部分还不止于此。他是与 Claude Code 合作完成的,记录了整个过程——从第一行代码到运行 DOOM。

这不仅仅是一个玩具级的"Hello World"系统。我们看到的是一个包含 macOS 风格 GUI、自定义网络协议栈、HTTPS 支持,甚至内置 Python 解释器的项目。

这到底是什么

VibeOS 是一个用 C 语言编写的业余操作系统,面向 aarch64 架构。它可以在 QEMU 模拟器中运行,也可以在真实硬件上运行,具体是 Raspberry Pi Zero 2W。开发过程经历了 64 次 AI 交互会话。如果你查看仓库中的会话日志,可以追溯项目是如何逐步成形的:从引导程序和中断处理,到窗口管理器的实现。

VibeOS Desktop

作者坦诚地承认:并非所有功能都能正常工作,有些代码甚至还没有经过测试。但已经运行的部分令人印象深刻。这是一个很好的例子,展示了现代 LLM 如何帮助降低系统编程和内核开发这类复杂领域的入门门槛。

内核与界面:里面有什么

核心是一个支持协作式多任务的定制内核。支持 FAT32 文件系统并包含长文件名,这往往是自制系统的一个绊脚石。

GUI 看起来出人意料地现代化。包括以下功能:

  • 可拖拽窗口的桌面。
  • 文档面板和菜单。
  • 完整的鼠标和键盘输入支持。
  • 窗口最小化和关闭动画。

Terminal

从视觉上看,它类似于简化版的 macOS,对于一个"为了好玩"而编写的系统来说,已经相当精致了。

系统内部的网络与开发

通常,自制操作系统只能局限于控制台中的文本输出。VibeOS 走得更远。系统内置了 TCP/IP 协议栈、DNS 解析器,甚至还有支持 TLS 1.2 的 HTTP 客户端。这使得内置浏览器(是的,它确实存在)可以渲染简单的 HTML 和 CSS。

但最吸引我注意的是 VibeOS 内部的开发工具:

  1. Tiny C Compiler (TCC)。你可以在系统内直接编写 C 代码并即时编译。
  2. MicroPython。有绑定到内核 API 的接口,因此你可以用 Python 自动化任务。
  3. VibeCode IDE。这个系统的类 VS Code 替代品。

VibeCode

当然还有经典:DOOM 已经被移植到 VibeOS。要运行它,你需要自己找到 doom1.wad 文件并放入游戏文件夹,但移植本身的存在就证明了系统调用的可行性。

硬件与运行细节

如果你决定在 Raspberry Pi Zero 2W 上运行它,准备好迎接冒险吧。作者警告说 USB 驱动比较挑剔。例如,你需要严格按照先键盘后鼠标的顺序将它们插入集线器,否则系统可能无法识别它们。不支持热插拔:如果你拔掉什么东西,就必须重启。

在真正的"Pi"上,目前还没有声音和网络(没有 Wi-Fi 驱动),但 Full HD (1920x1080) 分辨率的 GUI 运行稳定。

如何自己动手试试

最简单的方式是在 QEMU 中运行项目。你需要一个交叉编译器 aarch64-elf-gcc。在 macOS 上,安装很简单:

brew install aarch64-elf-gcc qemu
make disk
make run

make disk 命令会创建磁盘镜像,make run 会构建内核、所有用户程序并启动模拟器。

谁会从中受益

VibeOS 不是 Linux 的替代品,也不是"Windows 杀手"的竞争者。它首先是一本教科书。如果你一直想了解中断是如何工作的、如何编写自己的内存分配器,或者如何在 framebuffer 层面实现窗口拖拽,这个仓库就是一座金矿。

特别有趣的是研究 Claude 会话日志。这是低层代码背景下"提示工程"的实践指南。你可以看到神经网络在哪里犯了错误,以及作者是如何引导它修复驱动程序或文件系统中的 bug 的。

这个项目至少值得探索一下:今天创建你自己的操作系统不再是十年的闭关修炼,而是只要手边有合适的工具,几个月就能完成的项目。

相关项目