Serenity 操作系统

2025年4月22日 | 阅读 4 分钟

SerenityOS,更常被称为 Serenity,灵感来自 Joss Whedon 邪典电视剧《萤火虫》中的萤火虫级飞船,是一个开源项目,旨在从头开始创建一个具有受 1990 年代后期经典启发的 GUI 的类 Unix 操作系统。Andreas Kling 是 SerenityOS 的开发者,这是一个他于 2018 年启动的个人爱好项目。此后,它发展成为一个充满活力的贡献者社区。

美学与哲学

SerenityOS 的独特之处在于其设计中融合了怀旧(它看起来像您可能在 Windows 95 或 Mac OS Classic 上看到的那样)与现代开发实践。 用户界面 (UI) 布局相当简单,但色彩丰富且干净,散发出怀旧的外观,同时与我们今天所熟知的响应性很好地配合。

内核、驱动程序、窗口管理器和所有用户空间应用程序都由 C++ 代码编译。这种方法可以更深入地了解堆栈的每个部分,他们无疑遵循它,因为他们的整个项目都具有简洁性和透明度。SerenityOS 专注于易于理解且具有广泛可塑性的代码。

核心功能和组件

  1. 自定义内核:SerenityOS 运行在一个单片内核上,该内核在其代码库中实现了进程管理、调度器、虚拟文件系统和网络等功能。一个为学习目的而构建的轻量级且易于使用的内核。
  2. 图形用户界面:图形环境是 SerenityOS 的一个主要功能。这包括一个窗口管理器,以及任何桌面环境和应用程序,例如文本编辑器、终端模拟器、网页浏览器或文件管理器。用户界面采用了类似于 90 年代操作系统的概念,但设计时考虑了更现代的可用性。
  3. 原生应用程序:SerenityOS 还附带了许多为该平台编写的原生应用程序。其中包括文件管理器、终端、文本编辑器等基本实用工具,以及网页浏览器或音乐播放器等高级应用程序。这些都使用 SerenityOS 自己的 GUI 工具包构建,该工具包也是从头开始开发的。
  4. POSIX 合规性:SerenityOS 正在努力实现与 POSIX 标准高度兼容,这意味着许多标准的 Unix 实用程序和软件包将能够在此操作系统上运行。这对于具有 Unix 类环境经验的开发人员来说很方便,因为他们无需从头开始学习一个新操作系统。
  5. 网络支持:SerenityOS 中集成了一个简单的 TCP/IP 协议栈,提供网络功能。它仍在开发中,但已经有一些网络协议允许使用某些应用程序,例如网页浏览器。
  6. 端口系统:端口系统使其他操作系统的软件(如 LinuxBSD)能够在 SerenityOS 上编译和运行,其工作仍在进行中,但它将使我们更接近拥有一个基于 Android Pie 的日常操作系统。

社区与开发模式

SerenityOS 是开源的,并根据 2 条款 BSD 许可证提供。它由一个活跃的全球开发者社区支持。该项目主要在 GitHub 上开发,贡献可以在那里讨论,bug 可以在问题跟踪器中提交。它将以开放的方式开发,Andreas Kling 会定期发布更新和视频。

SerenityOS 的独特之处在于它专注于享受和激情驱动的开发。社区对编程持调侃态度,称自己为“牦牛剃毛者”,即喜欢处理小细节的人。这种文化逐渐鼓励在贡献中进行大量学习、实验和乐趣。

为什么选择 SerenityOS?

  1. 教育价值:如果你喜欢学习操作系统和使用 C++ 进行底层编程,我推荐 SerenityOS。这个项目往往维护良好,代码库干净,文档刻意直观。它旨在帮助想要学习操作系统工作原理的初学者。
  2. 怀旧与美学:SerenityOS 为 90 年代计算机用户或对复古 UI 感兴趣的人提供了怀旧感。它结合了老式计算的魅力和现代系统的便利。
  3. 社区与协作:SerenityOS 周围的社区热情友好,是合作或学习新知识的好地方。一些贡献者是专业人士,一些只是业余爱好者,他们共同的特点是都想创造一个独一无二的操作系统。
  4. 全新的视角:当今大多数操作系统都力求尽可能兼容和功能丰富,而 SerenityOS 则采用更传统的方法,为实际需求提供简单的工具。对于那些热爱编程且不喜欢浪费太多时间尝试各种事物的人来说。这是一个热爱从头开始构建事物的开发者的乐园。

SerenityOS 入门

要开始使用 SerenityOS,您可以在 虚拟机(如 QEMU)上运行它,或将其安装在真实的 硬件 上(尽管硬件支持仍有限)。该项目的 GitHub 存储库提供了从源代码构建操作系统的详细说明。由于它仍在开发中,因此预计会有一些粗糙之处,但也有很多贡献和学习的机会。

结论

不仅如此,SerenityOS 代表了一个以社区驱动的项目,对计算充满热情,致力于学习系统技术的核心工作原理。无论您是想深入研究操作系统开发的开发者,还是寻找不同事物的爱好者,亦或是喜欢复古视觉效果的人,SerenityOS 都能提供合适的东西。这是一段正在进行的操作系统世界之旅,欢迎所有人加入这场冒险。