运维123 - 操作系统
type: channel
link: https://www.sddts.cn/index.php/tag/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/
items: VibeOS：AI 协作开发的 ARM64 操作系统
items: 9front 操作系统技术分析
items: Redox OS：Rust 微内核操作系统技术分析

VibeOS：AI 协作开发的 ARM64 操作系统
type: item
date: 2026-01-19T10:20:26+00:00
description: 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 2WC. 核心功能协作式多任务内核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 QEMU] I[BCM2836/BCM2835 树莓派] 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 2W1920x1080 帧缓冲USB 键盘和鼠标（通过 DWC2 驱动）SD 卡存储（通过 EMMC 驱动）完整桌面 GUIDOOM 2 倍缩放运行C. 树莓派平台限制无网络驱动（WiFi/以太网）无音频驱动4. AI 协作开发模式A. 开发过程记录64 个会话日志详细记录了开发过程：Session Log 1（会话 1-10）：Bootloader、…

9front 操作系统技术分析
type: item
date: 2026-01-19T01:25:18+00:00
description: 9front 操作系统技术分析一、概述1. 项目背景A. Plan 9 的起源Plan 9 是一个诞生于贝尔实验室计算科学研究中心的研究型操作系统，由同一批创造 UNIX 的研究人员开发。该项目始于 20 世纪 80 年代末，其早期发展与 Research UNIX 后续版本的开发并行进行。B. 设计理念Plan 9 可以被视为将 UNIX 的某些核心理念推向极致的尝试，旨在适应网络化和图形化时代。Rob Pike 曾将 Plan 9 描述为"关于简洁性和清晰性的论证"，而其他人则称其为"UNIX，只是更加彻底"。2. 核心架构graph TB subgraph "Plan 9 分布式环境" Terminal[终端] -->|连接| CPU[CPU 服务器] Terminal -->|访问| FileServer[文件服务器] CPU -->|存储| FileServer end subgraph "用户界面" WindowSystem[窗口系统] --> Display[光栅显示器] end Terminal --> WindowSystem3. 两大核心设计理念A. 私有命名空间每个进程都可以构建唯一的层次化文件系统视图。这是 Plan 9 与传统 Unix 系统的根本区别之一。在标准系统中，无论是 Unix 远程文件系统还是 Windows 附加文件系统，同一机器上运行的所有程序看到的是相同的内容。而在 Plan 9 中，这是可针对每个程序进行调整的。B. 文件接口所有资源在 Plan 9 中都表现为文件系统。这意味着所有设备都通过 ASCII 字符串控制，而非复杂的数据结构。例如，网络调用通过写入 ASCII 字符串完成，而非二进制文件。二、系统架构1. 分布式计算模型根据 intro(1) 手册页的定义：Plan 9 是一个分布式计算环境，由作为终端、CPU 服务器和文件服务器的独立机器组装而成。用户在终端上工作，在光栅显示器上运行窗口系统。某些窗口连接到 CPU 服务器，目的是在这些窗口中进行繁重的计算，但也可以在终端上进行计算。独立的文件服务器为终端和 CPU 服务器提供文件存储。2. 资源抽象graph LR App[应用程序] -->|访问| Namespace[私有命名空间] Namespace -->|挂载| FileSys[文件系统接口] FileSys -->|统一协议| Resources[各类资源] Resources --> Dev[设备文件] Resources --> Net[网络接口] Resources --> Proc[进程接口] Resources --> Mail[邮件系统]3. 典型应用场景A. 文件服务器示例upas/fs：将邮箱表示为 /mail/fs/mbox 处的文件树，特别适合建模 MIME 消息的递归结构cdfs：将音频或数据 CD 表示为文件系统，每音轨一个文件ftpfs：FTP 作为文件服务器提供，服务器上的文件出现在 /n/ftp 中B. 网络资源共享Plan 9 非常适合网络化环境，文件和目录树可以从其他机器导入，所有资源都是文件或目录树，因此易于共享资源。例如：使用不同机器的声卡：导入其 /dev/audio调试另一台机器上运行的进程：导入其 /proc使用另一台机器的网络接口：导入其 /net三、Plan 9 与 Unix 的关系1. 不是 Unix根据贝尔实验室 Plan 9 wiki 的说明：Plan 9 不是 Unix。如果你把它当作 Unix，当某些功能不存在或工作方式与预期不同时，你可能会感到沮丧。然而，如果你把它当作 Plan 9，你会发现它的大部分功能运行得非常顺畅，并且有一些真正巧妙的想法使事物比以前见过的更加简洁。2. 继承与创新A. 直接继承的组件许多 Unix 命令在 Plan 9 上存在并且行为相似。事实上，Plan 9 的部分用户空间是直接从 Research UNIX 第十版继承过来的，包括：upas 邮件接口sam 文本编辑器rc shellB. 根本性重新设计Plan 9 是一个全新的操作系统，不试图符合过去的偏见。其目的是避免过去的问题并探索新领域。Plan 9 不是 UNIX 是有原因的。3. 与其他项目的区别A. 不是 plan9portPlan 9 from User Space（也称为 plan9port 或 p9p）是 Plan 9 库和应用程序到 Unix 类操作系统的移植。plan9port 由基本未修改的 Plan 9 用户空间工具打包而成，同时使用各种 Unix 程序和命令尝试模仿 Plan 9 的内核接口。这些模仿有些更成功，有些不那么成功。B. 不是 InfernoInferno 也是贝尔实验室创建的…

Redox OS：Rust 微内核操作系统技术分析
type: item
date: 2026-01-15T11:28:26+00:00
description: Redox OS：Rust 微内核操作系统技术分析一、概述1. 项目背景A. 是什么Redox OS 是一个用 Rust 语言编写的开源通用操作系统，采用微内核架构设计。它不仅是一个内核，而是一个完整的操作系统，包含文件系统、显示服务器、核心工具等全套组件。B. 核心定位Redox OS 致力于成为 Linux 和 BSD 的完整替代方案，同时借鉴了 seL4、MINIX、Plan 9 等操作系统的设计理念。C. 开源许可采用 MIT 许可证，允许自由使用、修改和分发。2. 技术特征A. 语言优势使用 Rust 语言开发，利用其内存安全、并发安全和高性能特性。B. 架构设计采用微内核架构，将驱动程序、文件系统等服务运行在用户空间。C. 兼容性提供部分 POSIX 兼容性，支持与 Linux/BSD 程序的源码级兼容。二、系统架构1. 微内核设计graph TD A["Redox OS 架构"] subgraph "用户空间 User Space" B["应用程序 Apps"] C["驱动程序 Drivers"] D["文件系统 Filesystems"] E["服务器 Servers"] end subgraph "内核空间 Kernel Space" F["微内核 Microkernel"] end subgraph "硬件层 Hardware" G["CPU/内存/RAM"] H["存储 Storage"] I["外设 Peripherals"] end B --> F C --> F D --> F E --> F F --> G F --> H F --> I2. 架构层次A. 硬件抽象层直接管理 CPU、内存、存储和外设提供基础的硬件访问接口B. 微内核层实现核心功能：进程调度、进程间通信（IPC）、地址空间管理保持精简，仅包含最必要的系统功能C. 用户空间服务驱动程序：在用户空间运行，提高稳定性文件系统：RedoxFS 是默认文件系统显示服务器：Orbital 提供 GUI 支持网络服务：TCP/IP 协议栈D. 应用层标准 Unix 工具使用 COSMIC 桌面应用支持 Rust 标准库程序3. 核心组件组件名称功能描述维护者Kernel微内核实现@jackpot51Base系统核心组件和驱动@jackpot51RedoxFS默认文件系统@jackpot51relibcRust 编写的 C POSIX 库@jackpot51Ion默认 Shell@jackpot51Orbital显示服务器和窗口管理器@jackpot51三、技术特性分析1. 内存安全A. Rust 语言保障Rust 的所有权系统和借用检查器在编译期防止内存安全漏洞：空指针解引用悬垂指针数据竞争缓冲区溢出B. 系统级影响减少内核崩溃风险提高系统整体稳定性降低安全漏洞数量2. 驱动程序隔离graph LR A["应用程序"] --> B["内核调用"] B --> C{"微内核"} C --> D["用户空间驱动"] C --> E["用户空间驱动"] D --> F["硬件设备"] E --> G["硬件设备"] D -.崩溃.-> H["仅影响单个驱动"] E -.崩溃.-> HA. 用户空间驱动优势驱动崩溃不影响系统稳定性易于开发和调试权限隔离更精细B. 传统内核对比Linux/BSD 的驱动运行在内核空间，驱动崩溃可能导致系统崩溃。3. 文件系统设计A. RedoxFS 特性用 Rust 编写的自定义文件系统支持传统文件操作优化了性能和安全性B. 设计理念借鉴 ZFS 和 Btrfs 的现代文件系统设计思想。4. 图形系统A. Orbital 显示服务器提供窗口管理和图形渲染支持多窗口环境使用 COSMIC 桌面应用B. 渲染架构基于软件渲染，未来计划支持硬件加速。四、兼容性分析1. POSIX 兼容性A. 实现程度部分 POSIX 兼容relibc 提供 C 标准库支持常见 Unix 工具B. 兼容策略源码级兼容，而非二进制兼容：Rust 程序可直接运行Linux/BSD 程序需要重新编译2. 编程语言支持A. 原生支持Rust：完全支持标准库C：通过 relibc 支持B. 其他语言需要移植工具链和运行时环境。五、生态系统1. 核心仓库A. 构建系统当前 GitHub 仓库是构建系统的镜像，主仓库位于 GitLab。B. 开发工具Redoxer：简化 Redox 开发的工具支持 Linux 上的交叉编译C. 文档Redox Book：官方文档DCES 指南、Ion 手册、OrbTk Book2. 社区与支持A. 交流渠道官方聊天室和支持论坛GitHub DiscussionsGitLab 问题跟踪B. 商业支持Patreon 赞助捐赠和周…