在Linux之前,GNU正在开发自己的基于Mach的Unix兼容操作系统。现在,随着Debian 13的发布,出现了一个新版本……
Debian GNU/Hurd 2025是另一个GNU操作系统的最新版本。开发者Samuel Thibault的公告邮件表示,此版本包括一个可用的x86-64版本,这要归功于Rump层中的NetBSD磁盘驱动程序——这也意味着它现在可以使用USB磁盘和CD驱动器。Hurd有Rust语言的移植版本,以及“相当完善”的SMP支持,它可以运行“大约72%的Debian存档,未来还会有更多!”这是自2024年6月以来该项目的首次新闻更新,显然取得了显著进展。活动趋势线看起来不错。
这并不是一个完整的评测,因为它并不是一个真正的替代Unix操作系统。Hurd不是任何形式的Linux,也不是BSD。因此,尽管Debian GNU/Hurd 2025是Debian Trixie的一个版本,但请记住,这是一种高度实验性的操作系统,基于一种激进的设计。它不能在许多不同型号的硬件上运行,也无法兼容大多数现有软件。它的自述文件名为YES_REALLY_README,开头如下:
那句提到Hurd不是Linux的话非常重要。Hurd是一个实验性的操作系统,适合对操作系统设计和实现感兴趣的人。从这个意义上说,它类似于9front,这是一个继续开发Plan 9的分支。9front的FAQ页面中的第一条条目之一说:Plan 9不适合你。它继续说道:
这同样适用于这里。如果你了解Hurd,并对操作系统研究感兴趣,那这个新版本会让你觉得很有意思。另一方面,如果你脑海中浮现出的问题是我能在上面运行有趣或好玩的东西吗?或者它能替代Windows吗?或者它能在我的电脑上运行吗?那么答案是“不”。
它是一种Debian,但仅在一个相当宽松的意义上,大多数Debian用户甚至不知道这种情况:Debian可不仅仅是一个Linux发行版。除了Debian GNU/Linux,还有其他使用不同内核的Debian版本,所以它们根本就不是Linux。
Debian 几乎在 32 年前推出。两年前的这个月,我们庆祝了它的 30 周年。正如我们在那篇文章中提到的,曾经有一段时间,GNU 项目认真考虑采用 4.4-BSD Lite 的 BSD 内核。
如果这样做,一个完整的 GNU 操作系统可能会在 Linus Torvalds 1991 年 8 月宣布他的小型爱好项目之前就出现:
但 GNU/BSD 从未实现。相反,在 Linus 1991 年 4 月开始工作时——也就是在他告诉任何人之前的几个月——GNU 项目选择不使用 BSD 内核。相反,在 5 月,它宣布将编写自己的操作系统:
当时,Mach 项目是微内核设计的最前沿。今天,Mach 是 macOS 和 iOS 中使用的 XNU 内核的基础。在过去,Mach 也是开放软件基金会的 OSF/1 的基础,而 OSF/1 是 Digital UNIX 的基础,后者后来更名为 Tru64。在 NeXT 合并之前,苹果在 MkLinux 中使用了它,这是 Linux 首次移植到 PowerMac 硬件的项目之一。
GNU Hurd 项目至今仍在继续,依然使用 Mach。今天,gnumach 已经更新到 1.8 版本。该项目维护着一个详细的开发历史页面。近年来,更新有时达到季度频率,项目称之为 QoTH 公告——Hurd 季报。
Debian 已经持续开发了 32 年,在这段时间里,有几个版本在其他内核上运行 Debian 用户环境。换句话说,有些 Debian 不是 Debian GNU/Linux。
Debian GNU/kFreeBSD 在 FreeBSD 内核上使用 Debian 用户空间,尽管遗憾的是,由于人力不足,该项目于 2023 年结束。还有一个类似的项目使用稍旧的 BSD 内核,称为 Debian GNU/NetBSD。还有多个其他版本被建议,包括移植到 OpenBSD、OpenSolaris、IBM 的 OS/2 内核等。
Reg FOSS 编辑部对 Debian GNU/kOpenSolaris 的想法相当感兴趣,或者今天可能称之为 Debian GNU k/Illumos。我们听说的与 Debian 在 OpenSolaris 内核上最接近的项目是 Nexenta OS。它被更名为 Illumian,然后遗憾的是关闭了,尽管 Nexenta 仍然存在。
Hurd 是一个类 Unix 微内核操作系统。在 1980 年代末到 1990 年代初,这一领域是操作系统研究的热门,但 Windows NT 和 Linux 等强大的本地 32 位操作系统的出现抑制了操作系统研究。NT 内核是模块化的,并具有不同的特性,尽管偶尔有雄心勃勃的说法,但它并不是一个真正的微内核。自从收购 NeXT 以来,苹果的操作系统使用 XNU 内核。这是基于 Mach 的,但 NeXT 从 Mach 中获得良好性能的方式是将一个大型“Unix 服务器”(源自 BSD 代码)直接嵌入内核中,因此它也不再算是真正的微内核了。
Hurd 尚未达到 1.0 版本。一旦 Linux 可用,大多数关注和努力都转向了它,尽管在 1992 年,年轻的 Linux 创始人托瓦尔兹和 Andy Tanenbaum 之间发生了历史上最著名的争论之一,后者曾说过“Linux 是过时的”。
Linux 胜出是因为它是一个简单、务实的设计:一个老式的 1970 年代风格的单体内核。从本质上讲,它就是一个庞大的 C 程序,包含许多可选的子组件,而大多数部署从未使用这些子组件。自 6.12 版本以来,它仍然是最新的长期支持(LTS)版本,它甚至可以自我中断,以实现更平滑的实时响应。Linux 足够好,这是一种生存特性。
微内核更难。大多数操作系统在用户空间中运行,就像普通应用程序,而不是在处理器的特权监控模式下。这意味着需要许多独立的小代码模块相互通信,每秒发送和接收数百万条消息以协调它们的活动。由于通信的庞大数量,它们的性能成为一个显著的负担。这就意味着,要么把所有东西放在一个庞大的程序里(像 Linux),要么牺牲设计的纯粹性,把所有 Unix 兼容的东西放进内核里(如 macOS 和 iOS)。
微内核的设计未能成功,因为实现起来要困难得多,尽管从理论角度来看,它更干净、更优雅。还有实际的好处。更多的人可以更轻松地合作,处理更小、更简单、分离清晰的代码模块。在使用中,由于操作系统的组件可能会关闭或崩溃,进行升级或重启,而不会影响内核,这样的系统可能会更可靠——这是 Andy Tanenbaum 18 年前提出的论点。
不过,现在市面上有很多微内核。其中一个商业上成功的微内核是黑莓的 QNX,它首次出现在 1980 年代初。然而,关于 FOSS 微内核的活动很多,microkernel.info 描述了这一点。它列出了近 30 个活跃项目。其中一个是 Minix 3,其创建者 Andy Tanenbaum 博士去年为此获得了奖项。尽管他直到十年后才得知这个情况,Minix 3 深深运行在几乎每个自 2008 年以来的 Intel 处理器的管理处理器中——这意味着自 Core i3/i5/i7 系列以来的所有 Intel 处理器都在使用。
L4 微内核是 Mach 的直接继任者,进程间通信速度更快,这一努力在项目负责人 Jochen Liedke 不幸早逝后仍在继续。《注册》报道了许多基于 L4 的项目,最近的一个是 2022 年的 Neptune OS。早在 2012 年,OKLabs 已经交付了超过 15 亿个 OKL4 实例,尽管看起来自那以后有所下降。
这里的关键是,外面有数十亿个基于 Minix 3 和 L4 的系统。QNX 在 Blackberry 10 结束十年后仍然销售良好。从桌面或服务器操作系统的狭隘视角来看,微内核似乎是失败的学术练习。但事实并非如此。外面有无数亿个这样的系统,安静地完成它们的工作,因此不被注意。
今天,关于 Linus 退休后 Linux 会发生什么的问题变得越来越紧迫。内核 6.16 上个月末发布,规模庞大,接近 4000 万行代码,分布在近 100,000 个文件中。操作系统的争论是永恒的:我们仍然能看到 Windows 粉丝嘲笑 Linux 是个业余系统。即便如此,这无疑是一个成熟的项目,得到了广泛的企业采用,因此,它几乎是不可想象的庞大。
有可能有一天,Linux 会被取代,不是因为更好的替代品,而是因为更简单、更易于理解和管理的选择。自 2014 年 Tanenbaum 教授退休以来,Minix 3 的开发已处于休眠状态。我们应该非常高兴 Hurd 的工作仍在继续。一个能在 x86-64 个人电脑上运行近四分之三 Debian 包的全 FOSS 微内核,真是个了不起的成就。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.