SerenityOS:旨在易于理解的现代操作系统
Source: Dev.to
什么是 SerenityOS
SerenityOS 是一个从头开始、在公开环境下开发的通用操作系统。它包括:
- 自己的内核
- 自己的 C 库
- 自己的文件系统
- 自己的 GUI 栈
- 自己的应用程序
它 不 重用 Linux 内核、BSD 内核或 Unix 用户空间,使得 SerenityOS 成为一个自包含的系统,而不是某个发行版或分支。
SerenityOS 存在的原因
大多数主流操作系统之所以存在,是因为:
- 硬件发生了变化
- 用户要求兼容性
- 企业要求稳定性
SerenityOS 的出现出于不同的原因:现代操作系统的设计已经变得难以理清。Linux、Windows 和 BSD 系统携带着:
- 数十年的向后兼容性
- 旧的 API
- 无法移除的历史设计决策
SerenityOS 提出了一个简单的问题:
“如果我们今天设计一个现代操作系统,却不背负这些负担,会怎样?”
它并不是要争夺用户,而是要保持清晰。
内核(简要、中立)
SerenityOS 使用的是一个 以清晰胜于巧妙 为设计原则的单体内核。该内核:
- 不是 Unix
- 不是 Linux
- 在内部也不受 POSIX 约束
它的职责很直接:
- 进程管理
- 内存管理
- 基础设备处理
它并不试图进行革命性创新;内核故意保持保守且易读。
处理器架构
SerenityOS 目前面向 x86‑64 系统。此选择出于实用,而非意识形态。x86‑64 提供:
- 成熟的工具链
- 可预测的行为
- 良好的虚拟化支持
- 易于调试
操作系统更看重开发者的可访问性,而不是广泛的硬件支持。可移植性是可能的,但不是主要目标。
文件系统理念
SerenityOS 使用自己的文件系统 SerenityFS。设计侧重于:
- 简单
- 正确
- 可预测
它并未针对以下场景进行优化:
- 大规模存储阵列
- 高性能数据库
- 企业工作负载
相反,文件系统的存在是为了:
- 易于理解
- 安全可修改
- 适合操作系统开发和实验
这与整个系统的目标相吻合:清晰胜于规模。
硬件需求(实用视角)
SerenityOS 并不要求现代硬件。实际需求如下:
- CPU: 任意 x86‑64 处理器
- 内存: 2–4 GB 足够
- 存储: 几 GB
- GPU: 基本图形支持(不面向游戏)
它在以下环境中运行良好:
- 虚拟机
- 测试桌面
- 开发环境
它并非为高端 GPU、游戏或重度多任务设计。
谁适合使用 SerenityOS
SerenityOS 适合以下人群:
- 想要了解操作系统内部工作原理的人
- 对操作系统设计感兴趣的人
- 更喜欢阅读代码而不是配置工具的人
- 想要一个没有遗留复杂性的干净参考系统的人
尤其适用于:
- 操作系统学习者
- 系统程序员
- 构建内核、运行时或底层软件的人
SerenityOS 不适用的场景
SerenityOS 不适合:
- 日常桌面使用
- 游戏
- 专业生产工作负载
- 企业环境
- 安全关键系统
它并不打算取代主流操作系统,也没有此意。