9P过时了吗



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

9P过时了吗?你是在用它做一些应用吗?

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

不,9P没有过时;我不知道有哪个协议能做到它所做的,并且足够干净和定义良好,可以在几乎任何现有的语言中正确实现。

9P用于各种系统中。arm js(一个arm模拟器(和9webdraw中的一些最新使用(一个实现Plan 9/dev/draw的GSoC项目(。两者都是HTML5 Javascript实现。

补充一点,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的一些复杂性,反之亦然。

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

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

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

此外,它也被libvirt的东西与QEMU一起使用。

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

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

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

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

最新更新