文章摘要
Plan 9是贝尔实验室研发的操作系统,由UNIX团队在1980年代末开发,旨在将UNIX的简洁理念进一步延伸到网络和图形时代,体现了对简单清晰的追求。
文章总结
Plan 9 操作系统简介
0.1 - 什么是 Plan 9?
Plan 9 是由贝尔实验室计算科学研究中心的团队开发的一款研究型操作系统,该团队也是 UNIX 的创造者。它诞生于 20 世纪 80 年代末,旨在将 UNIX 的设计理念进一步推向网络和图形化时代。Plan 9 的核心思想包括:
- 私有命名空间:每个进程可以构建独特的文件系统视图。
- 文件接口:所有资源(包括设备、网络等)都以文件形式呈现。
Plan 9 并非 UNIX,尽管它继承了部分 UNIX 工具(如 rc shell 和 sam 编辑器),但它是一个全新的系统,专注于简洁性和分布式计算。
0.1.1 - Plan 9 的变种与分支
Plan 9 目前有多个衍生版本,包括:
- Plan 9 from Bell Labs:原始版本,已停止开发。
- 9front:活跃的分支,专注于现代化改进。
- Inferno:另一款分布式操作系统,基于 Plan 9 的部分理念。
- Plan 9 from User Space (plan9port):将 Plan 9 工具移植到 UNIX 系统的项目。
0.1.2 - Plan 9 不是产品
Plan 9 是研究项目,而非商业产品。它的设计目标是探索新的计算模式,而非兼容现有系统。
0.1.3 - Plan 9 的争议
部分用户认为 Plan 9 社区封闭,甚至有人批评其“像邪教”。但支持者认为,Plan 9 提供了独特的计算体验,适合追求简洁性的用户。
0.1.4 - Plan 9 不适合所有人
如果你依赖现代 Web 浏览器或流行开发工具,Plan 9 可能无法满足需求。它更适合愿意接受不同计算哲学的用户。
0.2 - 为什么选择 Plan 9?
Plan 9 提供一致且简洁的接口,适合分布式计算环境。它的核心优势包括:
- 资源即文件:所有设备、网络和服务都通过文件系统访问。
- 灵活的命名空间:每个进程可以定制自己的文件视图。
- 轻量级设计:没有冗余的复杂结构,系统行为可预测。
然而,Plan 9 的普及受限于硬件支持、浏览器兼容性等问题,许多开发者最终转向 Linux 或 macOS,但仍通过 plan9port 使用部分 Plan 9 工具。
0.2.3 - 为什么 Plan 9 的开发者放弃了它?
主要原因是生态系统的限制:
- 缺乏现代应用支持(如浏览器)。
- 网络效应:团队协作需要共享工具链,而 Plan 9 的孤立性成为障碍。
0.2.4 - Plan 9 的许可证问题
Plan 9 的许可证多次变更,从商业限制到开源(如 MIT 许可证),曾引发自由软件社区的争议。2021 年,Plan 9 基金会推动其代码全面采用 MIT 许可证,解决了部分法律障碍。
0.3 - 延伸阅读
- 论文与文档:doc.cat-v.org/plan_9
- 手册页:man.9front.org
- 书籍:
- Introduction to OS Abstractions Using Plan 9
- The UNIX Programming Environment(阐述 UNIX 和 Plan 9 的设计哲学)
Plan 9 的官方网站:9p.io/wiki/plan9
9front 项目:9front.org
Plan 9 是一款充满实验精神的操作系统,尽管未能取代 UNIX,但其设计理念仍影响深远。如果你对分布式计算或简洁系统设计感兴趣,它值得探索。
评论总结
以下是评论内容的总结:
对Plan 9技术的肯定
- ZeroFS和v9fs子系统受到赞赏,被认为比FUSE更好用:"very nice to work with (network native) compared to fuse"
- 有人建议将Rust语言与Plan 9结合:"I would love to see more Rust on Plan9 implementations"
对Plan 9现状的关注
- Plan 9仍然活跃,有持续开发和会议:"Plan 9 is still alive and kicking...averages several commits a day"
- 有人询问RISC-V移植:"Is there Plan9 port for RISC-V (RV32I)?"
对Plan 9理念的讨论
- 有人认为分布式操作系统未成为主流是遗憾:"biggest curse...how Distributed OS's did not become mainstream"
- 质疑Plan 9理念在现代的适用性:"I’m not sure it still makes sense...in a world of web APIs and SQL databases"
实用工具和资源分享
- 提供了Retina版drawterm的链接:"People wanting a Retina-capable drawterm...are welcome to have a look"
- 讨论Unix socket实现差异:"Why did BSD make Unix sockets something outside of the file system?"
历史视角
- 指出Plan 9到Inferno的过渡常被忽视:"The transition step...tends to be forgotten when praising Plan 9"
幽默/质疑
- 对9front项目链接的调侃:"Knowing that project am I going to be rickrolled?"
总结呈现了从技术赞赏、现状关注到理念讨论的多角度观点,同时保留了原始评论的关键引用。