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键盘鼠标]

mermaid

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[应用窗口]

mermaid

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: 报告问题和新需求

mermaid

5. 第三方组件

VibeOS 集成了多个开源库:

库名许可证用途
doomgenericGPL-2.0DOOM 移植
MicroPythonMITPython 解释器
TCCLGPL-2.1C 编译器
TLSeBSD-2-ClauseTLS 1.2 实现
minimp3CC0MP3 解码
stb_truetypeMITTrueType 字体渲染
stb_imageMIT图像加载

四、影响分析

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. 项目地址

2. 技术文档

  • USAGE.md:使用指南
  • PROGRAMMING.md:编程指南
  • CLAUDE.md:技术参考

3. 会话日志

  • Session Log 1-6:完整开发过程记录

参考资料

  1. VibeOS GitHub Repository
  2. VibeOS README Documentation
最后修改:2026 年 01 月 19 日
如果觉得我的文章对你有用,请随意赞赏