netbsd :具有移植性的UNIX-like操作系统

更新时间:2024-09-20 15:56

NetBSD是一个免费的,具有高度移植性的 UNIX-like 操作系统,是现行可移植平台最多的操作系统,可以在许多平台上执行,从 64bit alpha 服务器到手持设备和嵌入式设备。NetBSD计划的口号是:"Of course it runs NetBSD"。它设计简洁,代码规范,拥有众多先进特性,使得它在业界和学术界广受好评。由于简洁的设计和先进的特征,使得它在生产和研究方面,都有卓越的表现,而且它也有受使用者支持的完整的源代码。许多程序都可以很容易地通过NetBSD Packages Collection获得。

简介

NetBSD项目是由Chris Demetriou, Theo de Raadt, Adam Glass和Charles Hannum四人发起,是集合来自全球各地的一群开发者,开发出一个完全自由的类UNIX操作系统——NetBSD。NetBSD也包含了大量其他的自由软件,比如来自University of 加利福尼亚州, Berkeley的4.4BSD Lite。第一个NetBSD版本0.8发布于1993年4月20日,事实上,NetBSD是最早的4.4BSD Lite衍生操作系统。NetBSD以三种形式分发:formal releases、maintenance branches和NetBSD-current。CD包含的操作系统部分以BSD许可证分发,其他部分主要以GPL协议分发。

● formal releases:经过测试的生产版本,即正式发布版本。提供较好的稳定性以及较佳性能,易于安装并支持所有已声明支持的平台。

● maintenance branches:维护分支,即之前的正式发布版本,相对稳定性佳,但是性能低。

● NetBSD-current:正处于开发版本,主要用于用户测试。

发展沿革

NetBSD最初源自加利福尼亚大学伯克利分校计算机系统研究组的4.3BSD-Reno发行版,通过他们的Net/2源代码发布和386BSD项目。NetBSD项目的开始是因为386BSD开发人员社区对操作系统开发的速度和方向感到沮丧。NetBSD项目的四位创始人认为更开放的开发模式将有利于项目:一个以可移植、清洁、正确的代码为中心的模式。他们的目标是生产统一的、多平台的、生产质量的、基于BSD的操作系统。

NetBSD源代码库建立于1993年3月21日,第一个官方发布的版本NetBSD 0.8于1993年4月19日发布。这是从386BSD 0.1加上版本0.2.2的非官方补丁包派生而来,其中包括从386BSD重新集成的Net/2发行版中缺失的一些程序,以及其他各种改进。第一个多平台发布版本NetBSD 1.0于1994年10月发布,并且更新了4.4BSD-Lite源代码,不再包含任何法律上限制的4.3BSD Net/2代码。1998年,NetBSD 1.3引入了pkgsrc软件包集合。

直到2004年,NetBSD 1.x版本大约每年发布一次,之间有小的“补丁”发布。从2.0版本开始,NetBSD使用语义化版本控制,每个主要的NetBSD发布版本对应一个递增的主要版本号,即2.0之后的主要发布版本为3.0、4.0等。以前的小版本发布现在分为两类:x.y“稳定”维护发布和只包含安全和关键修复的x.y.z发布。

特点与技术

NetBSD的特点在于其卓越的可移植性,它已经移植到了大量的32位和64位架构。这些架构范围从VAX小型计算机到Pocket PC PDA。NetBSD的可移植性得益于使用硬件抽象层接口来进行低级硬件访问,如总线输入/输出或DMA。使用这种可移植性层,设备驱动程序可以分为“机器独立”和“机器相关”组件。这种平台独立有助于嵌入式系统的开发,特别是自NetBSD 1.6以来,当时整个编译器工具链,包括编译器、汇编器、链接器和其他工具,完全支持交叉编译。NetBSD还具有pkgsrc(即“软件包源”)框架,用于构建和管理第三方应用软件包。NetBSD在安全领域提供了各种功能,如内核授权框架(Kauth)、利用缓解功能、验证可执行文件(Veriexec)和加密设备驱动程序(CGD)。自NetBSD 3.0发布以来,NetBSD就支持Xen虚拟机监视器。NetBSD 5.0引入了rump内核,这是一种在用户空间运行驱动程序的架构。NetBSD包括许多企业级功能,如iSCSI、日志文件系统、逻辑卷管理和ZFS文件系统。NetBSD还支持各种“外部”磁盘文件系统格式,以及通过PUFFS支持的其他许多文件系统。NetBSD 7.0中添加了使用Lua编程语言的内核空间脚本。

用途与应用

NetBSD的清晰设计、高性能、可扩展性和对许多架构的支持,使其在嵌入式设备和服务器中得到广泛应用,特别是在网络应用中。商业实时操作系统QNX使用基于NetBSD代码的网络堆栈,并提供从NetBSD移植的各种驱动程序。戴尔股份有限公司 Force10使用NetBSD作为FTOS的基础操作系统,用于高可扩展性的交换机/路由器。Wasabi Systems提供了基于NetBSD的商业Wasabi Certified BSD产品,重点放在嵌入式、服务器和存储应用上。NetBSD曾用于美国航空航天局的SAMS-II项目,用于测量国际空间站的微重力环境,并用于研究卫星网络中TCP的使用。NetBSD还用于苹果公司的AirPort Extreme和Time Capsule产品,以及T-Mobile Sidekick LX 2009智能手机的操作系统。Minix操作系统使用了大部分NetBSD用户空间以及其pkgsrc软件包基础设施。Mac OS的部分功能最初来自NetBSD,如一些用户空间命令行工具。

参考资料

免责声明
隐私政策
用户协议
目录 22
0{{catalogNumber[index]}}. {{item.title}}
{{item.title}}
友情链接: