27.1 NetBSD 项目概述

NetBSD 是一个开源、可移植的类 Unix 操作系统,作为 BSD 家族的重要成员,它是最早从 4.4BSD Lite 衍生的操作系统之一,其首个版本 0.8 发布于 1993 年 4 月 20 日。NetBSD 的学术渊源可追溯至加州大学伯克利分校(UC Berkeley)的 Berkeley Software Distribution(BSD)项目,在操作系统可移植性研究领域具有重要地位。本章将系统介绍 NetBSD 的技术特性、生态系统及实践应用。

技术特性与生态系统

NetBSD 的口号arrow-up-right 是“Of course it runs NetBSD”(意为“当然可以运行 NetBSD”),这一口号集中体现了其在跨平台兼容性方面的核心技术追求。

NetBSD 支持多个架构arrow-up-right。其中,一级架构为官方完全支持的平台,二级架构为社区维护的平台。目前 NetBSD 支持 9 个一级架构、49 个二级架构,其架构支持广度在同类操作系统中处于领先地位。

NetBSD 主要面向技术爱好者和开发者,对于普通用户来说具有一定的学习曲线,开发者构成了该系统的核心用户群体。

NetBSD 开发的 pkgsrcarrow-up-right 包管理器框架也支持 macOS、Linux 等多个操作系统。pkgsrc 通过可移植的构建脚本实现跨平台软件管理,体现了 NetBSD 在可移植性软件工程方面的设计理念。

NetBSD 提供 Linux 兼容层,可运行部分 Linux 二进制程序,主要支持命令行工具和基础图形应用。

在硬件驱动方面,NetBSD 自带 i915 显卡驱动和 AMD 相关驱动,并支持 UEFI 启动和 NVMe 存储设备。

NetBSD 对 NVIDIA 显卡的支持程度相当于 Linux 3.15 内核版本水平,约支持到 2016 年的 Pascal 架构(GeForce GTX 10 系列显卡)。相关信息可参考 nouveau / NetBSDarrow-up-rightnouveau(4) - NetBSD Manual Pagesarrow-up-right(具体硬件支持列表)。

项目支持渠道

若读者想为 NetBSD 项目提供支持,最简单的方式是通过 GitHub Sponsorsarrow-up-right 进行捐赠。还能刷个 GitHub 徽章 Public Sponsorarrow-up-right 出来

技巧

支付后支付方式将被绑定,如需解除绑定,可联系 GitHub 客服 提交工单arrow-up-right,通常在一个工作日内即可处理。

此外,还可通过 Donate using Stripearrow-up-right 进行捐赠,该方式支持中国银联、Google Pay 等多种支付方式。

NetBSD 上的 ZFS

ZFS(Zettabyte File System,泽字节文件系统)作为一个功能强大的企业级文件系统,在 NetBSD 上也有相应的实现。以下为相关资源:

在 NetBSD 源代码中,最早可见的 ZFS 提交为 Import Opensolaris source code used with zfs port. Zfs code si from datearrow-up-right。从代码提交量分析,该 ZFS 移植项目长期缺乏维护和更新。

课后习题

  1. 查找 NetBSD 源码中 ZFS 的实现路径,对比分析其与 OpenZFS 新特性之间的代码差异,并在 QEMU 中尝试构建 Root On ZFS 安装。

  2. 选取 NetBSD 的 pkgsrc 包管理器框架,重构其最小实现原型。

  3. 修改 NetBSD 对 NVIDIA 显卡支持的策略,验证其与 Linux 3.15 内核版本的行为差异。

最后更新于