Inferno

title: 设计概念.
content: Inferno最早是于1995年由贝尔实验室计算机科学研究部门(Computer Science Research division)的成员为了把九号计划的思想更广泛的使用在设备及网络上所制作的。Inferno是基于九号计划的三个基础原则而制作的分布式操作系统:  为了处理并使用多样化的网络环境,设计者决定采用虚拟机器当做系统中必要的元件。这跟后来成为Java的Oak专案的结论相同,但各别达成了这样的目标。Dis虚拟机器是一种倾向于贴近运行架构的一种寄存器机(register machine),相对来说Java虚拟机器则是一种堆叠机(stack machine)。这种方法的优势是只要简单的为新架构创建一个即时编译器就可以了。  虚拟机器提供的内存管理功能设计上在1MB大小的内存且不提供内存映射的硬件上会较有效率。垃圾回收机制则是一种参照计数(reference counting)与收集循环资料(cyclic data)的即时染色收集器(real-time coloring collector)混合而成的。  Inferno核心包含了虚拟机器、即时编译器(on-the-fly compiler)、排程、装置、协定堆叠(protocol stacks)、各行程档案命名空间的命名空间直译器(evaluator),以及阶层式档案系统的根目录。核心也同时包含了一些提供了虚拟操作系统接口的内建模组,像是系统呼叫、图形、安全性、以及数学函式模组。  贝尔实验室技术期刊(Bell Labs Technical Journal)介绍Inferno具有几个方面上由操作系统所支援的可移植性与通用性: 这些设计面上的决定导致它为了能够让内容与服务提供者可以着重于他们所传送的内容,而非把重心放在处理各种不同的硬件、软件或网络环境,因此提供了一种标准的接口来达成这样的目的。
title: 历史.
content: Inferno是九号计划的衍生产品,彼此之间有许多共通的设计概念以及核心中的程序码,特别是关于装置以及Styx/9P2000协定的部分。Inferno也把Unix哲学与自贝尔实验室继承而来的UNIX经验分享给九号计划的专案。许多Inferno的命令列工具原先也都是九号计划的工具,之后才用Limbo语言改写。  IEEE Internet Computing在1997年3-4月的刊物中有Inferno网络软件的广告。该广告宣称可利用多种装置在包含因特网、电信网络,以及局域网络等之"任何网络"上进行通讯。图中甚至摆放了PlayStation之类的照片,如果电玩可以跟电脑沟通、手机可以存取电子邮件、电视可以存取语音邮件。  贝尔实验室计算科学研究中心(Computing Science Research Center)的成员Ken Thompson、Dennis Ritchie,以及道格拉斯·麦克罗伊研究并开发了C语言,并使用该语言建造了UNIX。贝尔实验室中的程序员随后进行九号计划及Inferno等针对现代分布式环境的操作系统开发。  朗讯科技至少有两个内部专案有采用Inferno:Lucent VPN Firewall Brick以及Lucent Pathstar phone switch。这也开启了贩卖Inferno源代码授权的尝试,不过反应并不热烈。朗讯科技没特别做行销又忽略了Inferno与因特网的重要关连,而Java语言跟Inferno目标市场相似、采用类似的技术、可以在网页浏览器中运行,也同时满足了当时对于物件导向语言的流行。当太阳微系统大力行销自家的Java时,朗讯科技自太阳微系统取得Java的授权,宣称所有Inferno的装置皆能执行Java。Java位元码与Dis位元码的转译器就是为了达成这个功能所产生的。然而Inferno还是卖不出去。  Inferno商业部门过了三年就关闭且被卖给Vitanuova。Vitanuova持有相关的权利后,便继续研发并对整个系统采用商业化授权的方式,随后提供免费下载以及对核心以及虚拟机器以外的整个系统采非GPL相容授权的方式。Vitanuova将软件继续移植到新的硬件以及专注在分布式应用软件上,最终将源代码采用GPLv2授权释出,而Inferno操作系统现今也变成是一个开放源代码的专案。
title: 移植.
content: Inferno可以直接在原生硬件中执行,也能在其他平台以应用程序的方式提供虚拟操作系统。应用程序无须经过修改或重编译即可在所有的Inferno平台开发并执行。  原生移植包括x86、MIPS、ARM、PowerPC,以及SPARC。  托管或虚拟操作系统移植则包括:Microsoft Windows、GNU/Linux、FreeBSD、九号计划、Mac OS X、Solaris、IRIX、UnixWare。  Inferno也可以以套件的方式托管于IE中。根据Vita Nuova的说法,针对其他浏览器的套件也在开发中。  Inferno也可以移植到OpenMoko、Nintendo DS以及SheevaPlug。
title: 授权.
content: Inferno第四版于2005年初以自由软件的授权释出。具体来说,Inferno采用了双授权的方式采用了两种授权供使用者选择。使用者可选择在自由软件授权或传统商业化授权的情况下取得Inferno。根据自由软件授权的规范,系统中各个部分可以采用不同的授权方式,这些授权方式包括GPL、LGPL、Lucent Public License,以及MIT License。后来Vita Nuova让Inferno可以在GPLv2的授权下取得除了字型(采用Bigelow and Holmes授权)以外的整个系统。现在总共有三种授权方式可供选择。
title: 书籍.
content: 由Phillip Stanley-Marbell所撰写的"Inferno Programming with Limbo"虽然描述了一些Inferno操作系统第三版的情况,但大多都专注在Limbo语言以及Inferno系统所提供的接口上。例如说这本书仅提到一点Inferno多用途命令列(command shell)的功能,不过作为一本程序设计相关的书籍,这也是可理解的情况。  另一本由Brian Stuart所撰写的"Principles of Operating Systems: Design and Applications"则采用Inferno作为操作系统设计的实例。  而由Martin Atkins、Charles Forsyth、Rob Pike,以及Howard Trickey合著的"The Inferno Programming Book: An Introduction to Programming for the Inferno Distributed System"一书,尝试以操作系统为中心的观点介绍Inferno,只是不幸地作者从未完成或释出该一著作。
title: 外部链接.
content: Ports  Of Historical Interest

Summary: Inferno是种可以创造并支援分布式服务的操作系统。它主要是基于贝尔实验室九号计划的经验以及贝尔实验室接下来对于操作系统、语言、即时编译器、图形、安全性、网络、移植等的研究而产生的。

Inferno (système d'exploitation): Inferno est un système d'exploitation distribué pour le réseau créé initialement vers 1995 par Rob Pike, Phil Winterbottom et Sean Dorward chez Bell Labs, aujourd'hui maintenu par la société britannique Vita Nuova. Inferno est un système d'exploitation supportant le développement et la création de programmes distribués (réseau).