Является ли 9P устаревшим?

Я заинтересован в изучении 9P FS, в настоящее время читающий источник, доступный из этих реализаций: http://9p.cat-v.org/implementations

Является ли 9P устаревшим? Используете ли вы его для некоторых приложений?

(также я нашел это, некоторые тесты производительности между 9P и NFS: http://graverobbers.blogspot.com/2007/08/v9fs-performance-versus-nfs.html)

Ответ 1

Нет, 9P не устарел; Я не знаю протокола, который делает то, что он делает, и является чистым и достаточно четко определенным, чтобы быть правильно реализованным практически на любом существующем языке.

9P используется во множестве систем. Несколько недавних применений в arm-js (эмулятор ARM) и 9webdraw (проект GSoC, который реализует Plan 9/dev/draw). Оба являются реализациями HTML5 Javascript.

Ответ 2

Просто чтобы добавить немного, как реализация клиента Linux, так и несколько серверов находятся в активной разработке, поэтому я бы сказал, что это довольно ясный признак того, что люди все еще используют его. Одной из областей, которую он недавно использовал, является virtio-9P (aka virtfs), который является частью qemu/kvm и может использоваться для прямого доступа к файлу для доступа к файлу. Он также использовался в нескольких экспериментальных проектах операционных систем (Libra, PROSE, FusedOS) и включался в другие операционные системы (BSD, MacOSX, Windows, Linux) и гипервизоры (в дополнение к экземпляру KVM выше, он также был включен различными способами в Xen). 9P фактически используется в суперкомпьютерных развертываниях (как для Plan 9, так и для Linux, см. Проект diod на Sourceforge).

Я думаю, что причина в том, что протокол довольно прост, поэтому реализации также довольно просты и легко интегрируются в другом месте (есть несколько приложений как внутри, так и снаружи мира Plan 9, которые используют 9P в качестве интерфейса к приложению, во многом так же, как некоторые веб-разработчики используют интерфейсы RESTful).

В протоколе есть несколько различных вариантов, включая вариант 9P.L, который был разработан специально для соответствия Linux VFS API. Это добавляет немного сложности в протокол при добавлении операций, но устраняет некоторую сложность отображения Linux VFS API → 9P и наоборот.

Ответ 3

Он используется в Erlang-on-Xen как в качестве протокола хранения для goofs http://erlangonxen.org/blog/goofs-simple-filesystem

Это также способ erlang для экземпляров xen другими способами, см. здесь:

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

Кроме того, он используется в libvirt с помощью QEMU.

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

9p, для меня, похож на схему сетевых протоколов. По большей части это очень просто, но люди видят необходимость расширения его в соответствии с их окружением. К счастью, это делается способами, которые часто совместимы с обратной связью.