9P

来自Local Chinese Wikipedia
imported>森林蛇2025年2月4日 (二) 07:07的版本 (修飾語句)
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转到导航 跳转到搜索

Template:多个问题 Template:NoteTA 脚本错误:没有“sidebar”这个模块。 9P(又名九号计划档案系统协定Styx)是贝尔实验室九号计划分散式操作系统所开发的网络协定,作用在于连结九号计划系统内的元件。本计划中的档案是其运作的核心,这些档案代表了视窗电脑网络连线、行程以及其他存在于操作系统中的任何东西。不同于NFS,9P是将资料快取,并提供模拟档案(脚本错误:没有“ilh”这个模块。)的机制(例如/proc用以表示行程)。

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

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

服务器端应用程序[编辑]

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

  • 脚本错误:没有“ilh”这个模块。: 供程序员使用的使用者界面
  • 脚本错误:没有“ilh”这个模块。: 第九计划的视窗管理员
  • 脚本错误:没有“ilh”这个模块。: 行程间通讯
  • wikifs: Wiki

实作[编辑]

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

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

参见[编辑]

  • 脚本错误:没有“ilh”这个模块。 - u9fs: 9P为类UNIX操作系统所提供的实作
  • 脚本错误:没有“ilh”这个模块。 - 为了在局域网络中使用9P而设计的传输协定
  • 分散式档案系统

参考文献[编辑]

外部链接[编辑]