GNU Hurd简介

什么是GNU Hurd?

GNU Hurd是一套操作系统内核,以微内核架构设计。Hurd是GNU操作系统的核心部分。GNU项目从1990年开始开发GNU Hurd,并且将它作为一个遵循GPL的自由软件发布。Hurd的目标是从功能、安全性和稳定性上全面超越传统Unix内核,而同时又能保持对其的兼容性,为此Hurd遵守POSIX标准。

GNU Hurd的历史

GNU Hurd有着相对曲折的发展历史:

1983年,理查德·斯托曼提出GNU计划,希望发展出一套完整的开放源代码操作系统来取代Unix,计划中的操作系统,名为GNU。根据汤玛斯·布什内尔的回忆,最早自由软件基金会使用TRIX来开发操作系统,但在1986年放弃这个项目。在此后,他们原希望以轻量化后的4.4BSD为基础进行开发。

1987年,理查德·斯托曼决定以Mach微内核进行开发,认为可以借此加速操作系统的开发,但因为一直不确定卡内基梅隆大学何时要将核心源代码发布,造成项目三年进展缓慢。他在之后承认这是个错误。

1989年,GNU项目中的其他部分,如编辑器、编译器、Shell等都已经完成,独缺操作系统核心。1990年,自由软件基金会开始正式发展Hurd。

1991年,Linux内核首次发布,GNU计划中,运行用户层级的应用软件经过修改移植后,可以在Linux之上使用,因而很多开发者转向Linux。Linux成为最常见的GNU系统软件运行平台。

2005年,Hurd的开发者Neal Walfield完成了Hurd/L4基本的内存管理框架,Marcus Brinkmann移植了glibc的重要部分。2006年,Coyotos开发者尝试将Coyotos核心移植到Hurd下。

但是,Hurd开发者在2007年又放弃了L4与Coyotos,重新着手开发基于Mach微内核的GNU Mach上。

hqdefault

目前来说GNU Hurd是在Mach微内核上运行的服务器的集合,用于实现文件系统、网络协议、文件访问控制以及Unix内核或类似内核(如Linux)实现的其他功能并且更详细。

架构

与大多数类Unix内核不同,Hurd使用服务器-客户端架构,建立在负责提供最基本内核服务的微内核上,协调对硬件的访问:CPU(通过进程管理和调度)、RAM(通过内存管理)和其他各种输入/输出设备(通过I/O调度),用于声音、图形、大容量存储等。理论上,微内核设计将允许所有设备驱动程序都作为在用户空间中工作的服务器来构建,但如今大多数此类驱动程序仍包含在GNU Mach内核空间中。
根据Hurd的开发人员的说法,基于微内核的设计的主要优势是能够扩展系统:开发一个新模块不需要对内核的其他部分有深入的了解,一个模块中的错误也不会破坏整个系统。Hurd提供了翻译器的概念,这是一个用于扩展文件系统功能的模块框架。
从早期开始,Hurd就被开发为使用GNU Mach作为微内核。这是Richard Stallman做出的一个技术性决定,他认为这会通过节省很大一部分来加快工作进度,后来他承认自己错了,但现在证明了它当时的决定是正确的。在Mach微内核上工作的其他类Unix系统包括OSF/1、Lites和MkLinux。我们所熟知的macOS和NeXTSTEP也是使用基于Mach的混合内核。

1920px-OS-structure2.svg

目前主流的发行版

目前GNU Hurd仍在完善中,它仅可以在i386架构的处理器上运行(如一些搭载intel奔腾处理器的老机型 像是thinkPad x200或是其他一些老型号的ThinkPad或者旧台式机上),如果想更便捷的体验它可以使用虚拟机(如QEMU)如果您想在线体验Guix GNU Hurd可以联系我们

GNU HURD

Guix GNU Hurd

440px-Debian_GNU_HURD_XFCE_desktop_screenshot-3735796472

Debian GNU Hurd

© 版权声明
THE END
喜欢就支持一下吧
点赞12 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容