FQA 0 - Plan 9 简介

0.1 - 什么是 Plan 9

fqa0-LMLPHP

fqa0-LMLPHP

Plan 9 是一个研究操作系统,来自于在 Bell 实验室计算机科学研究中心(CSRC)同样创造了 UNIX 的团队。它出现在20世纪80年代末,它的早期开发与后续版本 Research UNIX 的持续开发相一致。Plan 9 可以被看作是一种尝试,它试图将一些相同的思想发展成网络和图形时代。Rob Pike 将 Plan 9 描述为一个简单明了的“参数”,而其他人则将其描述为“UNIX,仅此而已”。

来自《The Use of Name Spaces in Plan 9》:

来自《intro(1)》手册:

Plan 9 中最重要的两个想法是:

  • 私有名空间 (每个进程构造层次结构文件系统的惟一视图)

  • 文件接口(与UNIX很相似,但走向了极端:Plan 9 中的所有资源
    看起来像文件系统)

系统中的大多数其他东西都不属于这两个基本概念。

阅读:《intro(1)》《Plan 9 from Bell Labs》《Designing Plan 9》 ——最初交付于 1990年7月伦敦UKUUG会议;和《FQA 7 - System Management》来获得 Plan 9 设计的更多详细概述。

fqa0-LMLPHP

今天,Plan 9 以其最初的形式继续进行,并衍生出几个衍生方案和分支方案:

Plan 9 from Bell Labs —— 原 Plan 9。实际上已经死了,所有的开发人员都已经从实验室 和/或 谷歌上离开了。

Plan 9 from User Space —— 为 UNIX 移植/模仿的用户空间(特别是 OS X )。

9legacy —— David du Colombier`s cherry 从不同的人/分支收集补丁到 Plan 9 from Bell Labs。(它不是分支)

9atom —— Erik Quanstrom 的 Plan 9 分支,保持给 Erik 的需要,偶尔也会被 9front 借鉴。

9front——(这是我们)(我们在管理它(我们是 tunnel snakes ))。(译者注:tunnel snakes rule 是游戏《辐射》中的帮派之一,此处指对某物很感兴趣)

Nix —— 高性能云计算系统,在尖刻的政治阴云和迟钝的官僚内斗中内爆了。

NxM —— 一个多核系统的内核 —— 从来没有外部人员见过。

Clive —— 一个来自 Francisco J.Ballesteros 的新操作系统,旨在为懒惰的学生生成大量的实践材料和研究项目。

Akaro —— Akaros 是一个开源的、GPL许可的操作系统,适用于许多核心架构。与任何项目无关,但却吸引了大量拨款。

Harvey —— Harvey 正在努力使 Plan 9 代码与 gcc 和 clang 一起工作。

Inferno —— Inferno 是一个在贝尔实验室诞生的分布式操作系统,但现在是由 Vita Nuova Holdings 作为自由软件开发和维护。我只是开个玩笑,它并没有被开发或维护。

0.1.1 - Plan 9 不是 UNIX

fqa0-LMLPHP

Bell Labs Plan 9 wiki 上话来说:

Plan 9 中有许多 UNIX 命令,它们的使用方式类似,这使问题更加复杂。事实上,Plan 9 中的一些用户域(例如 upas 邮件接口、sam 文本编辑器 和 rc shell)被直接转入 Research UNIX 10th Edition。进一步的调查表明,在 Plan 9 中的许多想法在最近的几个 Research UNIX 版本中以更加原始的方法被探索应用。

然而,Plan 9 是一个全新的操作系统,它没有试图遵循过去的偏见。设计的目的(大约在 20世纪80年代后期)是为了避免过去的问题,探索新的领域。Plan 9 不是 UNIX 是有原因的。

阅读:《UNIX to Plan 9 command translation》《UNIX Style》或者《cat -v Considered Harmful

0.1.1.1 - Plan 9 不是 plan9port

Plan 9 from User Space(也称为 plan9port 或 p9p )是许多来自 Bell 实验室的库、应用程序移植到类 UNIX 操作系统的一个 Plan 9 端口。目前,它已经在各种操作系统上进行了测试,包括:Linux、Mac OS X、FreeBSD、NetBSD、OpenBSD、Solaris 和 SunOS。

Plan9port 由一个组合构成,该组合主要是未更改的 Plan 9 userland utilities pack,并提供各种可用的 UNIX 程序和指令模拟的 Plan 9 的内核集成。有些模拟比其他的更成功。总之,plan9port 并不能准确地代表使用实际的 Plan 9 的体验,但是它提供了足够的功能,使一些用户能够满足于在 Macbooks 上运行 acme。

0.1.1.2 - Plan 9 不是 Inferno

fqa0-LMLPHP

Inferno 也是 Bell 实验室创造的一个分布式操作系统,但现在是由 Vita Nuova Holding 作为自由软件开发和维护。它采用了许多来自 Plan 9 的想法(甚至共享一些源代码),但是是一个完全不同的操作系统。

说明:Inferno 与 Plan 9 共享一些兼容的接口,包括 9P/Styx 协议。

0.1.2 - Plan 9 不是一个产品

Path: utzoo!utgpu!water!watmath!clyde!bellcore!faline!thumper!ulysses!smb
From: <[email protected]> (Steven Bellovin)
Newsgroups: comp.unix.wizards
Subject: Re: Plan 9? (+ others)
Message-ID: <[email protected]>
Date: 23 Aug 88 16:19:40 GMT
References: <[email protected]> <[email protected]> <[email protected]>
Organization: AT&T Bell Laboratories, Murray Hill
Lines: 33

免责声明:本文当然不是 AT&T 的官方声明。它也不是 Plan 9 背后原因的官方声明。我真的这么认为,不过这是准确的,我相信如果我错了,别人会告诉我的……

0.1.3 - Plan 9 不适合你

坦诚来说,今天美国“计算机专家”认为计算机必不可少的的许多功能(javascript,CSS,HTML5 等)在 Plan 9 中要么不存在,要么或故意被排除在操作系统外。您可能会发现这是 Plan 9 纳入您的日常工作流程的一个不可接受的障碍。如果你无法想象在不使用网络浏览器的情况下如何使用电脑,那么 Plan 9 可能不适合你。

参见:http://harmful.cat-v.org/software/

0.2 - 为什么要有 Plan 9

你可能会问自己,我是怎么来到这里的?用 Plan 9 的贡献者 Russ Cox 的话来说:

0.2.1 - 人们喜欢 Plan 9 的什么

Plan 9 的长期用户 Charles Forstyh,Anthony Sorace 和 Geoff Collyer 的描述:

https://9p.io/wiki/plan9/what_do_people_like_about_plan_9/index.html

0.2.1.1 - 您将用 Plan 9 做什么

如果您不知道这有什么用
那它不适合你

参阅:FQA 8 - 使用 9front

0.2.2 - 人们讨厌 Plan 9 的什么

John floren 提供了幽默(?)的概述,表现新用户对 Plan 9 的典型反应:

嗨!我是 Plan 9 的新手。我很高兴能使用这个新的 Linux 系统。

我遇到了几个问题。

  1. 如何运行 X11?
  2. Emacs 在哪里?
  3. 代码很奇怪。 它看起来根本不像GNUC。编写 Plan 9 的人是否了解 C?
  4. 我尝试运行 mozilla,但没有成功。怎么来的?

你是这个家伙吗?

相关:http://9front.org/buds.html

0.2.2.1 - Plan 9 中没有什么

Plan 9 中可能缺少的常见功能的摘要:

http://c2.com/cgi/wiki?WhatIsNotInPlanNine

0.2.3 - 为什么 Plan 9 的创造者们放弃了 Plan 9

fqa0-LMLPHP

Russ Cox

Russ Cox(再次):

Russ Cox(继续):

Rob Pike

0.2.3.1 - 为什么 Plan 9 的用户们放弃了 Plan 9

fqa0-LMLPHP

他们可能有自己的原因。(译者:你问我,我问谁?)

0.2.3.2 - 为什么 CIA 放弃了 Plan 9

https://www.muckrock.com/foi/united-states-of-america-10/foia-cia-plan-9-frombell-labs-82547/

0.2.4 - Plan 9 的奇怪许可证怎么处理

fqa0-LMLPHP

多年来,Plan 9 已在各种许可下发布,这使许多人感到震惊。

第一版于1992年发行,仅提供给大学。 获取软件的过程很复杂,容易出现笔误。 许多潜在的用户在合理的时间内无法获得它,最终的 Plan 9 Internet mailing list 上也表达了很多抱怨。

第二版于1995年以书本和 CD 的形式在相对标准的商业许可下发行,可通过邮购和特殊电话号码获得,价格约为350美元。 它肯定比第一版更容易获得,但是许多潜在用户仍然抱怨价格太高,并且许可证过于严格。

0.2.4.1 - Richard Stallman 讨厌 Plan 9 的许可证(大约在2000年)

在2000年,第三版最终在定制的“开源”许可证下发布(即“Plan 9 许可证”)。Richard Stallman 没有留下深刻的印象:

在此处阅读更多信息:http://www.linuxtoday.com/developer/2000070200704OPLFSW

0.2.4.2 - Theo de Raadt 讨厌 Plan 9 的许可证(大约在2003年)

在2002年,根据朗讯公共许可证发布了 Plan 9 的第四版许可证。这次,Theo de Raadt 没有留下深刻的印象:

在此处阅读更多:http://9fans.net/archive/2003/06/270

0.2.4.3 - 每个人都讨厌 Plan 9 的许可证(大约在2014年)

2014年,Plan 9 的部分源代码再次被重新许可,这次是在 GPLv2 下,再分发给加州大学伯克利分校Akaros 操作系统。可以预见的是,各方都没有留下深刻的印象。

Russ Cox 通过在 Hacker News 主题中发表评论来试图弄清这种情况:

一些人认为,对许可的困惑可能是导致 Plan 9 无法在更广泛的计算机世界中取代 UNIX 的原因。

0.2.4.4 - 赞扬 9FRONT 大胆行动:重新许可

除非另有说明,否则 9front 对 9front 所做的任何添加或更改(记录在 Mercurial 历史记录中)均根据 MIT 许可条款提供,并复制在文件/lib/legal/mit中。

阅读:/lib/legal/NOTICE

0.3 - 进一步阅读

0.3.1 - Plan 9 论文

这里是描述了 Plan 9 操作系统的学术论文:

http://doc.cat-v.org/plan_9/

0.3.2 - 手册页

第(1)节:通用的公共可访问命令
第(2)节:库函数,包括系统调用
第(3)节:内核设备(通过 bind(1) 访问)
第(4)节:文件服务(通过挂载访问)
第(5)节:Plan 9 文件协议
第(6)节:档案格式
第(7)节:数据库和数据库访问程序
第(8)节:与管理 Plan 9 有关的事项

0.3.3 - 网页

Plan 9 项目的官方网站位于:http://9p.io/plan9/

Bell 实验室 Plan 9 Wiki:https://9p.io/wiki/plan9/plan_9_wiki/

可以在 http://cat-v.org 上找到许多有关 UNIX,Plan 9 和一般软件的有价值的信息。

0.3.4 - 书籍

fqa0-LMLPHP

Introduction to OS Abstractions Using Plan 9 From Bell Labs》 作者:Francisco J Ballestros(nemo)

Notes on the Plan 9 3rd Edition Kernel》 作者:Francisco J Ballestros(nemo)

The UNIX Programming Environment》 作者 Brian W. Kernighan(bwk)Rob Pike(rob)(这本书是 Unix 的最清晰,简洁和雄辩的表达和当今的“工具哲学”)

9FRONT DASH 1》(您正在阅读的文档,以书本形式)

05-22 08:57