本页使用了标题或全文手工转换

9P

维基百科,自由的百科全书
跳到导航 跳到搜索

9P(又名九号计画档案系统协定Styx),是贝尔实验室九号计画分散式作业系统所开发的网路协定,作用在于连结九号计画系统内的元件。本计画中的档案是其运作的核心,这些档案代表了视窗电脑网路连线、行程,以及其他存在于作业系统中的任何东西。不同于NFS,9P是将资料快取,并提供模拟档案(synthetic file英语synthetic file)的机制(例如/proc用以表示行程)。

在九号计画第四版中,9P被更名为9P2000,也增加了一些基础上的改进。最新版的Inferno作业系统也采用9P2000,之前的版本采用的档案格式称为Styx,但其实也是9P的衍生。

另一个叫9p2000.u的衍生,则对UNIX提供了更良好的支援,详情参见v9fs 9p2000.u。为UNIX而实作的9P伺服器则称为u9fs,在第九计画的发行版中有提供。供Linux使用的核心客户端驱动程式则包含在v9fs的专案中。9P及其衍生分支也被发现使用在嵌入式环境的应用软体中,像是Styx on a Brick project

伺服器端应用程式[编辑]

许多第九计画的应用程式以9P伺服器的形式存在。值得注意的例子有:

实作[编辑]

9P在客户端及伺服器端间送出如下的讯息[1]。这些讯息对应到第九计画虚拟档案系统层的进入点,所有的9P伺服器都必须实作这些讯息。

version
交涉协定的版本
error
回报错误
flush 
终止讯息
auth, attach 
开启连线
walk 
走访目录阶层
create, open 
准备一个用来写入/读取既有或新增档案的fid
read, write 
传送资料给档案或从档案接收资料
clunk 
抛弃fid
remove
从伺服器移除档案
stat, wstat 
查询或变更档案属性

参见[编辑]

参考文献[编辑]

外部链接[编辑]