FQA 0 - Plan 9 简介
0.1 - 什么是 Plan 9
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 中最重要的两个想法是:
系统中的大多数其他东西都不属于这两个基本概念。
阅读:《intro(1)》《Plan 9 from Bell Labs》《Designing Plan 9》 ——最初交付于 1990年7月伦敦UKUUG会议;和《FQA 7 - System Management》来获得 Plan 9 设计的更多详细概述。
今天,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
用 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
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 系统。
我遇到了几个问题。
- 如何运行 X11?
- Emacs 在哪里?
- 代码很奇怪。 它看起来根本不像GNUC。编写 Plan 9 的人是否了解 C?
- 我尝试运行 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
Russ Cox(再次):
Russ Cox(继续):
0.2.3.1 - 为什么 Plan 9 的用户们放弃了 Plan 9
他们可能有自己的原因。(译者:你问我,我问谁?)
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 的奇怪许可证怎么处理
多年来,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
中。
0.3 - 进一步阅读
0.3.1 - Plan 9 论文
这里是描述了 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 - 书籍
《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》(您正在阅读的文档,以书本形式)