VibeOS:AI 协作开发的 ARM64 操作系统
一、新闻概述
1. 标题
VibeOS:一个完全由 AI 协助编写的 ARM64 操作系统
2. 发布时间
2025 年 12 月 10 日(GitHub 仓库创建)
3. 来源
GitHub 开源项目:kaansenol5/VibeOS
二、核心内容
1. 事件摘要
A. 主要内容
VibeOS 是一个完全从零开始编写的 ARM64 架构操作系统,其独特之处在于整个开发过程由人类开发者与 AI(Claude Code)通过 64 次协作会话完成。
B. 核心亮点
- 完全由 AI 辅助编写的操作系统内核和用户空间程序
- 支持 QEMU 虚拟机和真实硬件(树莓派 Zero 2W)
- 实现了完整的图形界面、网络协议栈和办公应用
- 包含 60 多个用户空间程序
- 支持 C 语言编译器和 Python 解释器
2. 关键信息
A. 项目规模
- 开源仓库仅一个月获得 738 星标
- 开发周期:64 个 AI 协作会话
- 代码行数:超过 10,000 次提交
- 语言:C 语言为主
B. 技术栈
- 架构:ARM64 (aarch64)
- 编译器:aarch64-elf-gcc 交叉编译器
- 虚拟化:QEMU system-aarch64
- 硬件平台:树莓派 Zero 2W
C. 核心功能
- 协作式多任务内核
- FAT32 文件系统
- 完整的 TCP/IP 协议栈
- 图形用户界面
- 网络浏览器
- DOOM 游戏
3. 背景介绍
A. 技术背景
操作系统开发传统上被认为是计算机科学中最复杂的任务之一,需要深入理解硬件架构、内存管理、进程调度、文件系统等底层概念。
B. AI 编程时代
VibeOS 是「Vibe Coding」趋势的典型案例——人类开发者与 AI 协作完成复杂编程任务。这个项目展示了 AI 在系统级编程领域的潜力。
三、详细报道
1. 系统架构
A. 内核设计
graph TB
subgraph 内核层
A[Bootloader] --> B[Kernel]
B --> C[内存管理器]
B --> D[进程调度器]
B --> E[中断处理]
B --> F[文件系统]
B --> G[网络协议栈]
end
subgraph 硬件抽象层
H[GIC-400<br/>QEMU]
I[BCM2836/BCM2835<br/>树莓派]
J[DWC2 USB驱动]
K[EMMC SD卡驱动]
end
D --> H
D --> I
E --> H
E --> I
F --> K
J --> L[USB键盘鼠标]B. 架构特点
- 协作式多任务:进程主动让出 CPU(备选抢占式调度)
- 中断控制器:支持 GIC-400(QEMU)和 BCM2836/BCM2835(树莓派)
- 内存管理:自定义内存分配器
- 文件系统:FAT32 支持,长文件名
2. 功能特性
A. 图形用户界面
graph LR
A[用户输入] --> B[窗口管理器]
B --> C[菜单栏]
B --> D[Dock]
B --> E[窗口系统]
E --> F[最小化/最大化/关闭]
E --> G[拖拽移动]
E --> H[应用窗口]GUI 特性:
- 桌面环境:可拖拽窗口
- macOS 风格美学设计
- 菜单栏和 Dock 栏
- 窗口最小化、最大化、关闭功能
- 鼠标和键盘输入支持
B. 网络功能
完整 TCP/IP 协议栈实现:
- 以太网(Ethernet)
- 地址解析协议(ARP)
- 网际协议(IP)
- 互联网控制消息协议(ICMP)
- 用户数据报协议(UDP)
- 传输控制协议(TCP)
- DNS 解析器
- HTTP 客户端
- TLS 1.2 和 HTTPS 支持
C. 应用程序
| 类别 | 应用 | 功能 |
|---|---|---|
| 网络 | Web 浏览器 | HTML/CSS 渲染 |
| 终端 | 终端模拟器 | readline 风格 shell |
| 编辑 | 文本编辑器 | vim 克隆,语法高亮 |
| 文件 | 文件管理器 | 拖拽操作 |
| 多媒体 | 音乐播放器 | MP3/WAV 支持 |
| 工具 | 计算器 | 基础计算 |
| 工具 | 系统监视器 | 资源监控 |
| 开发 | VibeCode IDE | 集成开发环境 |
| 游戏 | DOOM | 经典射击游戏 |
3. 开发工具链
A. TCC (Tiny C Compiler)
- 直接在 VibeOS 上编译 C 程序
- 轻量级编译器,适合资源受限环境
B. MicroPython 解释器
- 完整的内核 API 绑定
- 支持 Python 脚本开发
C. 交叉编译支持
- 使用 aarch64-elf-gcc 在宿主机编译
- 支持从 macOS/Linux 开发
4. 硬件支持
A. QEMU 虚拟机
- 完整功能支持
- 网络功能正常
- 快速开发迭代
B. 树莓派 Zero 2W
- 1920x1080 帧缓冲
- USB 键盘和鼠标(通过 DWC2 驱动)
- SD 卡存储(通过 EMMC 驱动)
- 完整桌面 GUI
- DOOM 2 倍缩放运行
C. 树莓派平台限制
- 无网络驱动(WiFi/以太网)
- 无音频驱动
4. AI 协作开发模式
A. 开发过程记录
64 个会话日志详细记录了开发过程:
- Session Log 1(会话 1-10):Bootloader、内核、shell、VFS、FAT32、GUI 基础
- Session Log 2(会话 11-20):桌面应用、PIE 重定位、终端、中断
- Session Log 3(会话 21-32):电源管理、LFN、音频、网络、浏览器
- Session Log 4(会话 33-49):TLS/HTTPS、树莓派移植、USB 驱动、优化
- Session Log 5(会话 50-55):USB 修复、DMA、性能调优
- Session Log 6(会话 56-64):MicroPython、TCC、DOOM、VibeCode、完善
B. 协作模式特点
sequenceDiagram
participant H as 人类开发者
participant A as AI (Claude Code)
participant C as 代码库
participant Q as QEMU/硬件
H->>A: 提出功能需求
A->>A: 生成实现代码
A->>H: 展示代码和解释
H->>H: 审查和测试
H->>C: 提交有效代码
C->>Q: 构建运行
Q->>H: 反馈运行结果
H->>A: 报告问题和新需求5. 第三方组件
VibeOS 集成了多个开源库:
| 库名 | 许可证 | 用途 |
|---|---|---|
| doomgeneric | GPL-2.0 | DOOM 移植 |
| MicroPython | MIT | Python 解释器 |
| TCC | LGPL-2.1 | C 编译器 |
| TLSe | BSD-2-Clause | TLS 1.2 实现 |
| minimp3 | CC0 | MP3 解码 |
| stb_truetype | MIT | TrueType 字体渲染 |
| stb_image | MIT | 图像加载 |
四、影响分析
1. 技术意义
A. AI 辅助系统编程的里程碑
VibeOS 证明了 AI 可以协助完成极度复杂的系统级编程任务,包括:
- 底层硬件驱动开发
- 操作系统内核设计
- 网络协议栈实现
- 图形系统构建
B. 降低系统编程门槛
传统上需要多年经验才能掌握的操作系统开发,通过 AI 协作变得更加可及。
2. 行业影响
A. 开发模式变革
- AI 不再仅仅是代码补全工具
- 成为系统设计和实现的全流程合作伙伴
- 人类角色转向架构设计和质量把控
B. 教育价值
- 会话日志提供了完整的学习资源
- 展示了系统组件如何协同工作
- 记录了问题排查和解决过程
3. 技术趋势
A. 「Vibe Coding」现象
这个项目是 AI 编程趋势的典型案例:
- 人类提供创意和方向
- AI 实现细节和代码
- 协作迭代直至完成
B. 开源生态影响
- 展示了 AI 对开源项目的加速作用
- 个人开发者可以完成大型项目
- 刺激更多 AI 辅助的开源项目
五、各方反应
1. 社区反馈
- GitHub:738 星标(发布一个月内)
- Fork 数:45
- 展示了开发者对 AI 协作项目的兴趣
2. 技术评价
A. 正面评价
- 展示了 AI 在系统编程中的潜力
- 完整的功能实现令人印象深刻
- 开发效率显著提升
B. 关注点
- 代码质量和可靠性需要长期验证
- AI 生成代码的可维护性问题
- 安全性考量
3. 局限性
- 部分功能未经测试
- 树莓派平台驱动不完整
- USB 热插拔不支持
- 稳定性有待提升
六、相关链接
1. 项目地址
- GitHub 仓库:https://github.com/kaansenol5/VibeOS
2. 技术文档
- USAGE.md:使用指南
- PROGRAMMING.md:编程指南
- CLAUDE.md:技术参考
3. 会话日志
- Session Log 1-6:完整开发过程记录