Plan 9 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
Plan 9 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
Plan 9 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」 !
Plan 9 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」「最积极运营项目」 !
Plan 9 获得 2020 年度 OSC 中国开源项目评选「最积极运营项目」 !

软件简介

Plan 9--来自贝尔实验室的概念网络操作系统,定义为新型下一代操作系统。Plan 9 由 unix 创造者 Ken Thompson、Dennis Ritchie等开发,意在基于unix优秀的思想,更好的融入网络以及新型设备如三键鼠标,新式显示器等,创造无缝的用户体验和更加现代化的操作系统。熟悉Linux 和UNIX 的用户都知道一句话:一切皆文件,Plan 9 更是贯彻的执行了这一原则,包括系统进程都可以用操作文件的方式来控制;感兴趣的可以去官网看文档,看看Plan 9 支持的文件系统,更加体现了“一切皆文件”,比如ftpfs,wikifs 等等,访问整个互联网简直就是访问你自己的硬盘。

Plan 9 Wiki: http://www.plan9.bell-labs.com/wiki/plan9/plan_9_wiki/

现今这个世界上,恐怕没有谁比贝尔对操作系统更有发言权了,很久很久以前,贝尔的一群人创造了至今最为重要的网络操作系统-UNIX,曾有人形容:即使这是贝尔实验室所做的唯一贡献,也   PLAN9 系统运行图 足以名垂千古了!如今的网络虽被称为分布式计算的奇迹,但事实却并非如此,将许多互不兼容的硬件和协议捏合在一起,使得我们的网络既混乱又不可靠。正因如此,贝尔实验室的Lucent开发组(包括一些极有影响力的人物如Dennis Ritchie和Ken Thompson,你不会不知这二位是谁吧)对这种趋势十分不满,决心依靠自己的经验,超越UNIX,编写出最完美的操作系统,这就是他们的Plan9。

Plan9并不是UNIX,也不是它的变种。但假如安装完它的演示版后,你或许会对此表示怀疑。初看起来它确实和UNIX极为相似(尤其是你进行目录列表的时候),但Plan9是一个完完全全的新操作系统。正如贝尔实验室的FAQ所述:“Plan9自身是一个操作系统;它并不是以一个应用程序的身份运行在另一个系统上。它的代码是从底层写起的,并没有包含任何他人的代码。尽管此操作系统的界面受了UNIX的很大影响,但它并不是UNIX的替代品,而是一种最新设计”。

这些和UNIX的相似之处只是表面现象,二者在底层的工作方式是很不相同的。两者的主要区别之一是Plan9对待对象(在此处对象是指目录、文件、进程等)的方式。在Plan9下,所有的对象皆以文件对待。此技术在UNIX下也有利用(如UNIX将许多设备作为文件对待),但远没有发展到Plan9的那种程度。尽管几年来,Plan9仍作为一个“概念型”的系统存在,但以贝尔实验室在技术领域的权威地位和创造力,Plan9也许会对未来一代操作系统和网络架构产生十分深远的影响。

Plan9从一开始就作为一个完全的网络操作系统被设计,所以,在Plan9背后的概念更多的是和网络而不是单个用户的需要相关。它的主要特色是它处理网络的方式。请看如下有关Plan9的文章所述:“Plan9采用网络客户-服务器环境下的分布式计算概念,在整个分布式系统中应用程序可用的资源集合能被透明地访问,因此应用程序在何处运行已无关紧要了”。

为了理解Plan9系统和其他网络化的操作系统的不同之处,请看图1:典型的网络配置(在办公室最常见的一种)是使用一台文件服务器和若干的工作站,这里的每一台工作站都配置了完整的硬件和软件。但这种结构离完美的分布式处理仍有很大的距离,单纯的将处理能力和工作文件“分布”到网络上,确实给用户的某些工作带来了很大的方便,但这样同时还使计算机资源受到浪费,使管理便得复杂,有形无形地增加着系统拥有成本。例如,财务部需要使用人事部的某些文件,就需要赋予财务部使用这些文件所需的权力,而一个公司可能有许多的部门,这种复杂的信任关系及其认证过程无疑是系统管理员最头疼的问题之一,而且这很可能会在网络埋下非常隐蔽的漏洞。

下面我们可以看看Plan9的设计思路: 在Plan9中,单独使用一台具有极强运算能力的计算机用来为远程终端和工作站提供运算服务,即专门用来提供CPU处理能力,称作CPU服务器;同时另有一台专门的机器用来完成存储所有工作文件的任务,称为文件服务器。具体的情形可以参看图2所示。这样设计解决了许多棘手的问题,如集中存储文件可以获得管理上的便利和更高的安全性,无须再在客户端配备复杂的备份和保护设施了;同时管理员在设计系统权限的时候可以减少很多麻烦,因为这种集中使其思路变得更加清晰;另外,Plan9的登录机制无须口令文件在网络中飞来飞去,这无疑大大提高了系统的安全性……

分布式计算的发展为我们带来了“所向披靡”的客户机-服务器结构,在经过许多年的发展之后,已渐露疲态,越来越无法满足飞速发展的网络环境,这时有许多人开始号召网络结构向集中式回归,但事物的存在灭亡必然有其理由,老式的巨型机带终端的方式当然不会重现,这时贝尔出色地为我们诠释了未来网络的发展趋向,其间确实有许多方面值得我们作深入的思考。

目前包含内核和一些必要的UI软件,所有的这些都是新的非移植的。熟悉unix的用户已经基本可以在plan9上进行文件管理,文档阅读(支持pdf,ps),网络浏览等,程序编辑及编译等日常工作。

plan 9采用更加简洁的处理方式 运行任务。包含了新的窗口管理器,新的鼠标操作定义,以及处于核心的网络和文件概念,即一切操作都看成是对文件的操作,更好的网络透明性。

plan 9的核心思想正被逐渐引入到实际应用中来。Linux 内核中已有plan9模块, 窗口管理器wmii也基于plan9思想,使得设计非常简洁。另外现在的网络文件架构中使用的正是PLAN9的网络文件概念。

plan 9 现在可通过qemu虚拟机运行。目前IBM蓝色基因超级计算机采用该系统。目前有免费的pc版系统发布以供爱好者研究。

安装及使用综述 

你可能很想尝试一下Plan9,贝尔实验室在Internet上发布了一个专用于PC系统的免费版本,如果你手里还有一台闲置的旧PC(还好不是要旧的SUN工作站),那正好可以用来“试刀”,使用这一词汇是因为和安装任何新操作系统一样,你应该思考一下可能出现的坏情况,包括从单纯的安装失败到可怕的数据丢失甚至硬盘损坏,不是说笑,我的一块WD硬盘还“歇”着呢。如果此类事件发生,最大的可能是Plan9不支持你使用的硬件,但是只要谨慎从事并遵循一些规则,情况并不那么“恐怖”。

用于安装的机器:千万记住,用于安装的机器应该是不被使用和“干净”的。换句话说,你决不应该将此Plan9版本装在你赖以生活的机器上,因为Plan9的安装会彻底导致其他操作系统或分区无法引导(比如Linux)。除非你真的没有机器可用且真的喜好精神刺激,否则,还是使用一直撇在墙角的那台DX66吧!如果你只有一台计算机但仍想尝试一下,那想办法找一个活动磁盘盒。使用这个设备你可以方便地将你平时使用的硬盘换成安装了Plan9的硬盘。使用什么样的硬盘由你所想安装的内容决定。如果你只是安装PC版,使用40MB硬盘即可(如果你想从CD-ROM中安装Plan9完全版,你将需要至少540MB的空间)

虽然用于安装的计算机并不非要一颗非常强劲的心(如同一些UNIX系统一样,Plan9可以运行在我们看来很“恶劣”的环境上),但我仍然推荐使用486/66以上CPU的机器,尽管使用奔腾机并不比486快很多,但在低于DX66的配置上运行Plan9还是有些吃力。

与CPU主频相比,内存无疑更为重要,你至少需要8MB内存,有人认为Plan9在4MB的机器上也可以运行,但你试一下就知道那是不是能称为“运行”了。另外,在低于8MB内存的机器上安装Plan9,有时会导致安装失败,而加上一些内存就成功地完成了安装。

安装过程(PC版)

首先要得到安装文件,正确的做法是到贝尔实验室的网站下载(因为这样可以保证得到的是最新的版本),这四个文件是:disk、disk2.vd、disk3.vd、disk4.vd,这些都是磁盘映像文件,下载完成后将它们写入软盘中。接下来要做的是对将要安装Plan9的硬盘进行分区,首先分出一个区,容量够DOS系统“容身”即可(毕竟你不是想在这台机器上应用DOS),然后格式化此分区并将DOS安装在这个分区上;也就是说,现在这块硬盘应该有一个10M左右的DOS分区,其上安装有DOS系统,硬盘的其他部分空空如也,不包含任何其他分区。

接下来可以开始安装Plan9系统了,首先用Plan9的启动盘(写入disk1文件的磁盘)启动,经过一系列的检测之后,将会出现蓝色的屏幕,标题是“System Installation & Configuration”。键入回车后,屏幕上出现一些选项,如果这些条目没有什么问题的话,可以选择安装选项,开始安装,这时屏幕上会滚过正在安装的文件的文件名。此过程结束之后,安装程序将询问一些机器配置方面的问题,提供答案之后在菜单中选择Save Configuration(在保存之前你还有一次机会返回到菜单中更改你认为有问题的选项)。保存选项之后,拿出启动盘,重新启动到DOS状态。下面进入硬盘上的Plan9目录,键入B装载一个安装程序,你需要定义一个目标盘,让程序将Plan9文件系统安装在此盘上;如果你不是只有一个硬盘或者有许多的分区(而不是象以上这种状况),在这里需要特别注意,不要指定错误的硬盘或分区。选择完分区之后,Plan9提示你插入第二张软盘,直至最后一张软盘,整个过程结束后,还会出现一个菜单,选择其中的Make the newly installed plan9 the default,至此所有的安装过程都结束了,恭喜你,下面再次重新启动计算机,我们可以开始使用Plan9了。

开始使用Plan9

计算机启动之后,进入Plan9目录并键入B,这会载入Plan9系统,这时所看到的情况与用第一张软盘启动时看到的是一样的,检测过程结束后,在root和user提示行中均回车,系统将询问你是否进入窗口系统,选择yes会进入Plan9名为8½的窗口系统,展现在你面前的是一个包含有时钟的屏幕,其基本的命令与UNIX十分相似,如cd和ls等,现在可以在你的系统中尽情游历了!

关于Plan9的应用程序

目前,Plan9上的应用软件还非常少,这是因为目前Plan9还不会成为商品化的操作系统,这使得只有那些极有求知欲的编程人员才愿意花上数百美元购买完整的系统。目前,在Plan9平台上可以运行一些基本的文本处理程序、web浏览程序和Xwindows系统等。

Plan9的窗口系统

Plan9的窗口系统被称作8½,这个系统甚至可以以简陋来形容,桌面上只有时钟和一个终端窗口,你可以用鼠标完成绝大部分操作(你最好找一个三键鼠标,如果没有中间的键你将无法使用一个系统菜单)。如果你使用过Xwindows系统,你会发现它的使用方法与其十分类似(看来Bell的家伙对UNIX的设计确实情有独衷),而与微软的Windows系统不太相同。

展开阅读全文

代码

评论 (0)

加载中
更多评论
发表了资讯
2014/02/16 00:00

Plan 9 采用 GPL 和 LPL 双许可证

阿尔卡特朗讯授权加州伯克利大学在GPLv2和LPLv1.02(朗讯公共许可证)双许可证下发布了Plan 9操作系统源代码。此前Plan 9采用的LPL许可证 (Lucent Public License)虽然也被认为是自由软件许可证,但与GPL不兼容。Plan 9是贝尔实验室/朗讯科技在上世纪80年代开发的分布式操作系统,朗讯在2002年终止了开发,但操作系统研究人员和爱好者仍然在之后继续使用和开发 Plan 9。Plan 9的一个特色功是将所有本地和远程资源以文件形式组织...

6
11
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表于AI & 大数据专区
2013/05/10 12:08

plan9 手册

``` P(1) P(1) NAME 名字 p - paginate p- 标页数 SYNOPSIS 摘要 p [ -number ] [ file ... ] DESCRIPTION 描述 P copies its standard input, or the named files if given, to p将复制标准输入或者指定的命名文件->至标准输出;每到22行停止, 直至 -number 选项设置了每页的行数。 在等待 新行 时,p释义如下命令 ! q 退出 源 /sys/src/cmd/p.c its standard output, stopping at the end of every 22nd line, and between fi...

0
0
发表了博客
2014/11/06 12:20

IBM蓝色基因超级计算机运行Plan9操作系统

IBM蓝色基因超级计算机运行Plan9操作系统 IBM蓝色基因贴上了Plan 9的太空宾尼兔标识,这是研究人员的诙谐表达 贝尔实验室Plan 9操作系统界面 据科技新闻社区Slashdot援引IBM工程师Eric Van Hensbergen的消息,Plan 9操作系统成功运行于IBM的蓝色基因(Blue Gene)超级计算机。蓝色基因是目前世界上最快的计算机;Plan 9是贝尔实验室开发的操作系统,第一版在1992年发布,最新的第四版于2002年发布。Plan 9是一个完全的网络操作系统...

0
0
发表了博客
2020/10/09 14:13

Plan9:一个从0开始考虑分布式,分布appmodel的os设计

本文关键字:plan9,Inferno,limbo,Plan 9 from User Space:plan9port 在《除了UNIX,我们真的有可选的第二开源操作系统吗?》中,我们讲到那些传统的os之争是集中于游戏好不好支持,桌面好不好体验,发行够不够流行,总体好不好用这些方面。而从x86 cpu从0开始的抽象全栈,他们都是一样的 ------- 换言之,某种意义上他们都是一样的OS。 这种共同点在于哪里呢?对于最终的APP和APP开发来说,它们都是基于单PC+单PC下网络程序设计...

0
0
2020/09/27 12:43

Plan9:一个从0开始考虑分布式,分布appmodel的os设计

__本文关键字:plan9,Inferno,limbo,Plan 9 from User Space:plan9port__ 在《除了UNIX,我们真的有可选的第二开源操作系统吗?》中,我们讲到那些传统的os之争是集中于游戏好不好支持,桌面好不好体验,发行够不够流行,总体好不好用这些方面。而从x86 cpu从0开始的抽象全栈,他们都是一样的 ------- 换言之,某种意义上他们都是一样的OS。 这种共同点在于哪里呢?对于最终的APP和APP开发来说,它们都是基于单PC+单PC下网络程序...

0
0
发表于云计算专区
2020/10/02 00:08

打造一个Applevel虚拟化,内置plan9的rootfs:goblin(1)

__本文关键字:applvl Virtualization。去中心化,无架构APP__ 我们知道云计算最大的特点就是虚拟化,将云虚拟化,将裸金属虚拟化,将CPU虚拟机vmm,将平台虚拟化,将语言运行时虚拟化,将appstack虚拟化。这种“云化,虚拟化,xaas化”动作其实正是传统最基本的抽象,正如保护模式划分CPU,进程划分任务之于”单机运算“一样,这些只是在传统架构上造云的步骤,本不足为奇 —— 但这些所有虚拟化,却唯独少了最后一个层面,将a...

0
0
发表了博客
2012/11/06 11:50

一些基础的开源链接

gnu开源项目:http://www.gnu.org/software/software.html.en openbsd:http://www.openbsd.org linux内核:http://www.kernel.org/ 红帽:http://isoredirect.centos.org/centos/ plan9:http://plan9.bell-labs.com/plan9/index.html 火狐浏览器:https://ftp.mozilla.org/pub/mozilla.org/ mysql:http://downloads.mysql.com/archives.php apache:http://www.apache.org nginx:http://www.nginx.org 还有邮件服务、ftp文件...

0
1
发表了博客
2019/03/19 23:20

深入Go的底层,带你走近一群有追求的人

[toc] 上周六晚上,我参加了“Go夜读”活动,这期主要讲Go汇编语言,由滴滴大佬曹春晖大神主讲。活动结束后,我感觉打通了任督二脉。活动从晚上9点到深夜11点多,全程深度参与,大呼过瘾,以至于活动结束之后,久久不能平静。 可以说理解了Go汇编语言,就可以让我们对Go的理解上一个台阶,很多以前模棱的东西,在汇编语言面前都无所遁形了。我在活动上收获了很多,今天我来作一个总结,希望给大家带来启发! 缘起 几周前我写了一...

0
0
发表于云计算专区
2020/10/05 00:29

一种matecloudos的设想及一种单机复杂度的云mateapp及云开发设想

__本文关键字:可编程的os/os kernel/os rootfs,os as service,os as service,mateos。cloudsubos,,客服同体,api/runtime共体,将os api化,headless os core for cloud api,融合云app__ matecloudos,matecloudapp:真正的分布式 ----- 在前面我们谈到《enginx,engitor》系列,还谈到《Plan9:一个从0开始考虑分布式,分布appmodel的os设计》,这些文章共同点都是对已有分布式app(一类跨OS/OS进程的APP)的思考和未来创新设想...

0
0
2020/09/29 00:09

一种追求高度融合,包容软硬方案的云主机集群,云OS和云APP的架构全设计

__本文关键字:兼容多主机硬件设计,兼容多os,兼容native/cloud程序模型,兼容本地程序/分布式程序。网络操作系统,不是x11,不是远程桌面,不是web nas,不是pouch存储同步。不是远程投屏。__ 云在人们的观念中就是远端,它承诺将计算发展成水电煤一样的可被直接利用的资源,与内容和我们本地的客户端或终端接入(所以有了云存储,云GPU等各种传统资源的云化,以及一些或细分或复用的云资源,如云验证,云游戏,etc..),虽然云技...

0
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
暂无内容
0 评论
36 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部