简介:
Plan 9 是什么?
最新的Plan9 发行有什么?
它和其它操作系统有什么关系?
它的关键思想是什么?
这些方法有什么优势?
硬件和软件 :
它运行在哪些平台上?
有人为我的系统做一个移植吗?
它支持对称多处理(symmetric multiprocessing)吗?
应用程序和工具怎么样?
有fortran 语言的编译程序吗?
在哪儿可以获得更多的 Plan 9 软件?
它是面向对象(object-oriented)的吗?
应用软件的可移植性如何?
它需要哪些资源?
它支持什么图形用户界面(GUIs)?
如何用2键的鼠标作切割和粘贴?
Plan 9 有类 Unix的终端模拟程序吗?
它使用什么字符集?
安全和用户鉴别方面如何呢?
它是怎样和其它系统通信的?
它对实时控制合适吗?
安装和管理:
Plan 9可以在很好地工作在哪些PC 硬件上?
我如何安装 Plan 9?
若不起作用,如何解决问题呢?
如何设置视频图形适配器(VGA)?
如何控制引导时启动的服务?
如何设置网络服务?
如何关闭我的终端/cpu服务器 系统?
如何重新启动我的系统?
综合信息:
Plan 9这个名字是从哪来的?
如何获得Plan 9?
我如何参与进来?
如何得到更多详细的技术信息?
我能在Unix下模拟 Plan 9吗?
有Plan 9 用户组吗?
--------------------------------------------------------------------------------
简介:
主题: Plan 9是什么?
Plan 9 是一个新的计算机操作系统和相关程序的名字。它由 Lucent Technologies 公司下属的Bell Laboratories的计算科学研究中心(Computing Science Research Center)构建,是开发了Unix, C, 及C++的同一组织。
Plan 9 是一个分布式系统。 以最通常的配置,它使用三种组成部分:放在用户桌上的终端,存储永久数据的文件服务器,和其它提供快速的CPUs,用户鉴别,和网络入口的服务器。这些组成部分用不同的网络连接,包括Ethernet, 专用的光纤网络, 普通的调制解调器连接,和ISDN。典型的使用方式是,用户和运行在他们的终端或CPU服务器上的应用程序交互,而应用程序从文件服务器上获得它们的数据。尽管如此,设计是高度可配置的;它可以配置到联网的工作站的具体模型和中央的机器服务器。
主题: 最新的Plan9 发行有什么?
Plan 9第三版的出版发行新闻稿在 http://www.bell-labs.com/news/2000/june/7/2.html
Plan 9本次发行的变化中有一个修改过的核心,它现在有解析歧义文件名的方法;一个改进的图形环境; 一组更新的名令;和扩充的库。系统的创建者也安装了"plumbing," 在交互程序间传递消息的一个新机制, 它是用户接口的一部分。
新的发行可以在遵守一个开放源代码协议的条件下免费下载。与以前的发行相比这是相当重要的一步。
在实际安装之前,如果你想浏览发布软件包,你就需要这里的工具unix/。
主题: 对历史有兴趣的
Plan 9 的第一版在1993年发行,只有大学可以获得。
在1995,如果遵守压缩包许可证,就可以通过购买获得第二版。
本常见问答的第二版备档在plan9v2faq.html
主题: 它和其它操作系统有什么关系?
Plan 9 本身是一个操作系统;它不是运行在另一个系统下的一个应用程序。它是从头开始写成的且不包含其它人的代码。尽管对应程序的操作系统接口强烈地受到 Unix方法的影响,但它不是Unix的替代者;它是一个全新的设计。
主题:它的关键思想是什么?
Plan 9 尽可能地开拓三个基本的技术上的考虑:首先,所有的系统对象本身被表示成命名的文件,这些文件通过 读/写操作修改;第二,所有这些文件可以存在本地或者远程,且响应于一个标准协议;第三,文件系统名字空间 - 一个程序可见的对象集合 - 对于运行在具体机器上的每一个程序可以动态的和独立的调整。这些想法的前两个已经在 Unix 上有所预示,其它系统中这种程度更低,然而第三个是新的:它提供了一个解决分布式计算和图形的工程方案。Plan 9的方法意味着应用程序不必知道它们运行在那台机器上;什么地点,以及在哪一种机器上,运行 Plan 9 程序是一个经济的选择-它不影响应用程序本身的构造。
主题: 这些方法有什么优势?
Plan 9的方法改进了应用程序设计的通用性和模快化,通过鼓励服务器让呈现给用户和应用程序的任何一种信息就像普通文件的收集一样。这里有一些例子。
Plan 9 窗口系统(称为 rio)是小而干净的部分地是因为它的设计集中于为运行在它下面的每一个应用程序提供一个虚拟的键盘,鼠标和屏幕,而使用操作系统提供的真实键盘, 鼠标,和屏幕。也就是说 - 除了创建,删除,和布置窗口本身之外 - 它的工作是作为一个为客户提供某种资源的服务器。作为一方面的好处,这个方法意味着窗口系统可以嵌套地运行在它的一个窗口中,或者甚至在另一台机器上。
Plan 9 用户通过运行一个本地程序进行因特网FTP,它让在任何FTP服务器(因特网上的任何地点)上的所有文件呈现为本地文件。 Plan 9 的PC 用户-在他们的磁盘上有一个 DOS/Windows 分区-也可以使用存储在那里的文件。 ISO 9660 CD-ROM 和tar 以及 cpio 磁带的行为都好像他们是本地文件系统一样。任何应用程序的全部的I/O 行为和性能可以通过把它运行在服务器上监视,服务器察看所有的它的交互。调试程序在另一个机器上检查一个程序,即使这个程序运行在一个不同的硬件体系结构上。
另一个例子是网络使用的方法。在Plan 9中,每一个网络把它本身表示成一组用于连接创建,I/O,和控制的文件。用于操作的一个公共语义核心是和一个通用服务器一起被同意的,此服务器把机器可读的地址翻译成特定网络的地址 。这样的结果就是应用程序不在意它们在使用哪一种网络(TCP/IP,ISDN, modem)。实际上, 应用程序甚至不知道他们使用的网络是否物理地连接到应用程序多运行的机器: 网络接口文件可以从另一台机器导入。
硬件和软件:
主题: 它运行在哪些平台上?
Plan 9 的核心和应用程序是高度可移植的。Plan 9 运行在四种主要的机器体系结构上: Intel 386/486/Pentium, MIPS, Alpha, 和 PowerPC. 数据结构和协议是为在不同设计的机器上进行分布式计算而设计的。除了核心中必要的机器相关部分, 编译器以及一些库之外,对每一种体系都用单一的源代码表示。
要察看Plan 9 是否支持你的硬件, 请阅读The Various Ports 和 Supported PC Hardware.
主题: 有人在为我的系统作移植工作吗?
可能 ... 让我们等等看吧.
主题: 它支持对称多处理吗?
是. The SGI Challenge 系列的多处理器和多个处理器的 Pentiums 被支持。要小心基于Intel的SMP 系统对多处理器规范的遵从是相当出名地易变,当系统有问题时还常会让人头疼。
已经可以运行系统的机器从双 Pentium 90's 一直到 4个 Xeon 400 和 8 processor Pentium Pro Axil系统。默认地,刚从包装中取出的发行软件中SMP 运行plan9.ini 配置文件中的一个选项关闭。
主题: 应用程序和工具怎么样?
Plan 9 有自带的C语言编译程序和其它语言工具,还有所有的命令和Unix 环境中原来先驱的程序开发工具。它也提供新设计的软件。 Acid 是一个接受多进程程序的可编程调试程序,被调试的程序可能运行在和它本身不同的硬件平台上。Acme 是一个新的用户接口,在其中,屏幕上的任何单词通过点击可被解释成一个命令, 任意字符串可以指明一个要显示的文件。
主题: 有fortran 语言编译程序吗?
没有, Plan 9 没有fortran 编译程序。如果你有 想要运行的fortran 语言程序,你可以试试 f2c (fortran to C) 转换程序,在此地址可得 ftp://netlib.bell-labs.com/netlib/f2c/
主题: 在哪可以得到更多的 Plan 9 软件?
Charles Forsyth 有原来的而且仍然是最长的软件列表
http://www.caldo.demon.co.uk/plan9/soft/index.html
Russ Cox 有许多cd 播放程序, mp3 播放程序和许多其他小工具
http://www.eecs.harvard.edu/~rsc/plan9.html
Tad Hunt 可以帮助你平衡你的银行户头, 引导你的笔记本电脑(laptop)还可以听音乐
http://csh-east.org/~tad/plan9/
Nemo (Francisco Ballesteros) 有一组驱动程序和实用程序
http://plan9.escet.urjc.es/usr/nemo/9.html
Kenji Arisawa's ftp 站点
ftp://plan9.aichi-u.ac.jp/
Boyd Roberts 在不对Plan 9爱好者(9fans)夸夸其谈时写了一些 rc 脚本
http://mapage.noos.fr/~repo/
以下地址有一个 Python 移植
http://csociety-ftp.ecn.purdue.edu/pub/plan9/python/
The wiki 的用户贡献的软件网页也是有用的
http://plan9.bell-labs.com/wiki/plan9/35/index.html
主题: 它是面向对象的吗?
不,不在传统的观念上。 它是用一个严格的本地化的 ISO/ANSI C写成的。更广泛的意义上说, 它的让所有对象像文件一样看待的通用设计对以良好定义的设计来讲就展示了一个相关的方法。
主题: 应用软件移植性如何?
Plan 9 带有一个库,它使得导入POSIX-遵从的应用程序很容易。还有一个模拟 Berkeley socket接口的库。
主题: 它需要哪些资源?
就像所期望的一样,答案取决于你想做什么。核心, 窗口系统,和基本应用程序能够顺利地运行在 8MB内存的PC上 。
另一方面,系统可以增加。Bell 实验室的安装包括作为CPU服务器的多处理器SGI Challenge 和Pentium 机器, 和一个用于文件服务器的350GB Sony WORM 磁盘柜。
主题: 它支持什么图形用户接口?
标准的接口不使用图标(icons)或拖放(drag-n-drop); 使用Plan 9 的人们倾向于面向文本。但是窗口系统,编辑程序,和通常的观感也非常鼠标化,常用指定和点击(point-and-click): Plan 9 窗口不只是一大群玻璃终端(TTYs)。系统支持图形原语和用于构造图形用户接口的基本软件的库。
一张屏幕快照可以在此得到 http://plan9.bell-labs.com/plan9dist/screenshot.html
主题: 如何用2键的鼠标作切割和粘贴?
只有用3键鼠标,Plan 9 才能实际很好地工作。同时,Shift-Right-button 会模拟中间键,但是这样的协调对于 Acme是不够的
主题: Plan 9 有任何类Unix的终端仿真程序吗?
Plan 9 窗口系统不接受任何内嵌的光标控制,因为没有一个本地应用程序使用光标定位(cursor-addressing)。在 rio, acme 和sam中的所有光标控制都通过鼠标。
若要参考一些优秀的论文对此重要的且对立的用户接口问题的讨论,请阅读 http://www.asktog.com/readerMail/1999-12ReaderMail.html.
如果你想从Plan 9进入 Unix 系统;你可以在你的一个窗口中运行 /bin/vt, 用telnet/rlogin 登录到 Unix, 然后根据Unix的终止设置term/TERM 变量. 更多细节请参考 vt(1) ;注意 vt(1)可以模拟一个 VT100,VT220 或者ANSI 终端。
主题: 它使用什么字符集?
使用的字符集是Unicode,用 ISO 10646 标准统一的16位集,此标准意图表示全球使用的语言。系统和实用程序支持一个用字节流表示的Unicode(称为UTF-8),它和ASCII兼容。在Plan 9上,用户可以用日本名字为一个文件中的西里尔字符串进行grep, 察看正确地显示在终端上的结果。
主题: 安全和用户鉴别如何?
Plan 9的 鉴别设计和 MIT 的 Kerberos是类似的.口令从不跨网络传送;相反却从鉴别服务器上获得加密的票据(tickets)。它还没有`设置 UID'程序的概念。除了在它自己的控制台之外,文件服务器不运行用户程序,除了被鉴别的所有者以外不允许对受保护文件的访问。特殊的`root' 用户的概念没有了。
主题: 它是如何和其它系统通信的?
发布软件包括一个 u9fs 服务器,它运行在 Unix-兼容的系统上且接受本地的Plan 9远程文件协议,因此Unix 机器的文件系统可以导入到Plan 9。还有一个运行在Plan 9上的NFS-兼容服务器,因此Plan 9 文件系统可以从其它支持 NFS的系统上访问。它包括全套的 Internet 协议(telnet, rlogin, ftp)。
主题: 它适合实时控制吗?
不,它不适合。它是通用操作系统,没有中断优先级机制和实时调度。
安装和管理:
主题: Plan 9可以很好地工作在哪些PC 硬件上?
如果你不想花时间乱搞和交换PC 硬件,那么你宁愿购买哪些Bell Labs所使用的硬件 支持的 PC硬件.
最大的问题来源是获得配置了VGA 的PC终端。为了达到最佳的性能和功能,推荐你使用可以运行16 bits每像素或更高的卡, 且带有硬件加速的图形支持;当前只有 Mach64 和S3 Virge 支持这个扩充。现在最好购买的应当是 ATI 8Meg Xpert 98 cards.
对于一台cpu服务器或文件服务器,那么任何可以达到CGA 的程度就足够了。
主题: 如何安装Plan 9?
安装被设计成从PC上运行
阅读 "支持的硬件 " 确认你的 PC 硬件符合要求。
备份你的系统。
确认你已经备份你的系统。
阅读 "安装Plan 9 发布软件" URL是 http://plan9.bell-labs.com/sys/doc/install.html
在http://plan9.bell-labs.com/plan9dist/errata.html 检查errata 页,可以发现自发布以来的发现的问题和解决。
在Plan 9爱好者群组中有更多的已经回答的问题:
IP 设置
如果你在/lib/ndb/local中设置一个适当的入口点,ndb/cd会设置系统名称。你必须指定一个'ether=' 入口点, 而且地址应当都为小写。如果都做好了,ip/ipconfig就会设置 IP。
名字服务
如果有了问题,首先检查ndb/dns 是否正在运行。它应当在/rc/bin/termrc 或者 /rc/bin/cpurc中被启动。还要注意只支持完全合格的名字,那里没有一个独立的解析器(resolver)。
绑定(Binding)和安装(Mounting)设备
注意 # 是 shell 的注释字符,所以你必须用单引号括住。例如: bind -a '#R6' /dev
鉴别服务器
当引导一个没有鉴别服务器的 cpu服务器时,如果你给鉴别服务器的地址为0.1.0.0 而不是cpu 服务器自己的地址 ,你就不必等待到cpu服务器超时。
主题:如果系统无法工作,我该如何解决问题呢?
如果是 SCSI 方面的问题,检查你的线缆和终结器(terminators)。 通常这是古怪的SCSI问题的唯一最大来源。活动的终结器是最好的。如果你使用外部线缆,你应当用高质量的。 而且不必为卡的速度而生气。
主题: 如何设置视频图形适配器?
如果VGA无用,阅读 "安装Plan 9 发布软件" 的最后两部分(设置和解决难题)。
你可以找到更多设置卡的信息。相关的手册页是: vga(3), vgadb(6), vga(8), 和 9load(8).
如果你的 VGA 卡不被支持,你可以尝试 http://mapage.noos.fr/philippe.anel/ 上 Matrox G200 G400 和 G450 驱动程序,由Philippe Anel所写 ,或者参考 http://plan9.bell-labs.com/wiki/plan9/39/index.html 上面 Nicholas Waples提供的Riva TNT 驱动程序。
把
debug=1
(第1行)放到plan9.ini 然后再试一下。这可能不是很有用但是允许问一个更具体的问题。
主题: 我如何控制引导时启动的服务?
这由shell脚本控制,它大致相当于Unix系统的/etc/rc等文件:
用于终端的/rc/bin/termrc文件
用于cpu 服务器的/rc/bin/cpurc 文件。
详细信息请参考cpurc(8) 。
主题: 如何设置网络服务?
对于UDP 服务, 你必须在适当的 cpurc(8)文件中启动他们。 对于TCP或者IL 服务,你必须使用listen(8) 守护程序。
主题: 如何关闭我的终端/cpu服务器系统?
如果你是从一个 实际的 文件服务器引导的, 你只要关掉它就行了。
如果你使用kfs, 你必须在一个提示符上通过输入
disk/kfscmd halt
命令手工地停掉磁盘,还要等到``kfs: file system halted'' 出现在屏幕上为止。
如果不这样做,磁盘可能处于一个不一致的状态或者修改的日期可能还没有被写出;如果不停掉磁盘,那么在下一次引导时kfs检查磁盘就会在"kfs..."处经历长时间的等待。
主题: 如何重新引导我的系统?
用输入^T^Tr (两个 control-T, 后接一个 'r')重新引导系统。 可以 在控制台输入 ^P重新引导Cpu服务器。 参考cons(3)手册查阅更多细节。
综合信息:
主题: Plan 9这个名字是从哪来的?
它是根据 Bell 实验室的选名传统选择的,这个传统让市场人员畏缩。开发者也希望 向著名的电影 "Plan 9 From Outer Space"表示敬意 。
主题:如何获得 Plan 9?
Plan 9 发行可以通过免费下载获得: http://plan9.bell-labs.com/plan9dist/download.html
它包括所有支持的体系结构的核心、库和命令的源代码。它还包括 x86 体系的完整二进制文件。
主题: 我如何参与进来?
学习此系统的最好方法是写一些Plan 9用户社团中的其他人可以使用的东西,或者把系统移植到新的平台上。.
任何人想让它的项目列在这里,请让我知道。这有助于避免重复投入,增加与‘网络团体’的关系。
主题: 如何获得更多详细的技术信息?
Bell 实验室站点 http://plan9.bell-labs.com/plan9dist/大量有关系统的信息。
手册页在 http://plan9.bell-labs.com/sys/man/
要察看补充文档,参考 http://plan9.bell-labs.com/sys/doc/
一个Plan 9 wiki 有热心人维护,地址在 http://plan9.bell-labs.com/wiki/plan9/1/
主题: 哪里有Plan 9 用户组?
在 Austin, Texas有一个。参考 http://einstein.ssz.com/hangar18/index.html 它对任何人都开放,即使你不住在 Austin.
主题: 我能在在 Unix下模拟Plan 9吗?
一些由 Plan 9 生成的应用程序对 Unix 系统是可用的。
sam 编辑程序可以在 ftp://netlib.bell-labs.com/netlib/research/sam.shar.gz 得到。
还有一个 Windows 95/NT 版本的 Sam,当前只以二进制形式发布,在这里可以得到 ftp://netlib.bell-labs.com/netlib/research/sam.exe 评论和错误报告发送到 seanq@research.bell-labs.com
一个免费的重新实现的 rc shell可在这里 ftp://ftp.white.toronto.edu/pub/rc/ 得到。
Wily 是一个类似 acme 外观的程序,由 Gary Capell所写。参考 http://www.cs.yorku.ca/~oz/wily/
9wm 是 David Hogan的 小型的8½ ;X 窗口管理器.可从 ftp://ftp.cs.su.oz.au/dhog/9wm/获得。 评论发送到 dhog@cs.su.oz.au
9term 是一个Matty Farrow写的 8½终端模拟器 matty@cs.su.oz.au,这里获得 ftp://ftp.cs.su.oz.au/matty/unicode/ 在相同的目录中,你会发现可以和9term,sam和wily一起使用的 Unicode 字体的集合 。
9menu 是一个Arnold Robbins写的一个简单程序, arnold@skeeve.com, 它允许你从shell创建 X 菜单,每一个菜单项能运行一个命令。9menu 被打算和 9wm一起使用,但是也可以和任何其它窗口管理器一起使用。 可以从这里 ftp://ftp.freefriends.org/arnold/Source/9menu-1.5.shar.gz 获得。
没有评论:
发表评论