19

我有兴趣研究 9P FS,目前正在阅读这些实现的可用源:http: //9p.cat-v.org/implementations

9P过时了吗?您是否将其用于某些应用程序?

(我也发现了这一点,9P 和 NFS 之间的一些性能测试:http: //graverobbers.blogspot.com/2007/08/v9fs-performance-versus-nfs.html

4

4 回答 4

15

不,9P 并没有过时;我不知道有一个协议能做什么,并且干净且定义明确,几乎可以在任何存在的语言中正确实现。

9P 用于多种系统。最近在arm-js一个 ARM 仿真器)和9webdraw一个实现 Plan 9 /dev/draw 的 GSoC 项目)中的一些用途。两者都是 HTML5 Javascript 实现。

于 2013-09-29T23:05:55.573 回答
11

只是补充一点,Linux 客户端实现和几个服务器都在积极开发中,所以我认为这是一个非常明显的迹象,人们仍然可以使用它。它最近被大量使用的领域之一是 virtio-9P(又名 virtfs),它是 qemu/kvm 的一部分,可用于直接来宾到主机的文件访问。它还被用于多个实验性操作系统项目(Libra、PROSE、FusedOS),并被整合到其他操作系统(BSD、MacOSX、Windows、Linux)和管理程序中(除了上面的 KVM 实例,它还以各种方式被整合成 Xen)。9P 实际上用于超级计算部署(对于 Plan 9 和 Linux,请参阅 Sourceforge 上的 diod 项目)。

我认为原因是协议非常简单,因此实现也往往非常简单并且易于在其他地方集成(Plan 9 世界内外有几个应用程序使用 9P 作为应用程序的接口,在很多情况下)与一些 Web 开发人员使用 RESTful 接口的方式相同)。

该协议有几个不同的变体,包括专门为更好地匹配 Linux VFS API 而开发的 9P.L 变体。它在添加操作时给协议增加了一点复杂性,但消除了映射 Linux VFS API -> 9P 的一些复杂性,反之亦然。

于 2013-09-30T12:13:03.177 回答
6

它在 Erlang-on-Xen 中用作 goofs http://erlangonxen.org/blog/goofs-simple-filesystem的存储协议

这也是 erlang 在 xen 实例上的其他方式,请参见此处:

http://erlangonxen.org/more/9p2000e

此外,它还被带有 QEMU 的 libvirt 使用。

http://wiki.qemu.org/Documentation/9psetup

9p,对我来说,就像网络协议的方案。在大多数情况下,它非常简单,但人们认为需要对其进行扩展以适应他们的环境。幸运的是,这是以通常向后兼容的方式完成的。

于 2013-10-04T03:13:32.387 回答
4

除了其他答案中提到的所有内容之外,微软还使用 9P作为其 Windows 子系统的一部分。

他们为每个作为来宾运行的 Linux 发行版添加了一个 9P 服务器,以便 Windows 可以通过 9P 挂载 Linux 文件系统,并且 Windows 进程可以透明地访问 Linux ext4 分区上的文件。

于 2020-09-07T20:57:31.680 回答