2013-02-26 9 views
12

Jestem zainteresowany studiowaniem 9P FS, obecnie czytałem źródło dostępne z tych wdrożeń: http://9p.cat-v.org/implementationsCzy 9P jest przestarzałe?

Czy 9P jest przestarzałe? Czy używasz go do jakiejś aplikacji?

(również Znalazłem to trochę testu Perfomance między 9P i NFS: http://graverobbers.blogspot.com/2007/08/v9fs-performance-versus-nfs.html)

+1

Nigdy nie widziałem planu 9 używanego w gniewie. A AFAIU został porzucony przez projektantów w Inferno. BTW, Linux zawiera implementację. – vonbrand

+0

implementacja Linuksa wygląda świetnie, przetestowałem ją na dwóch hostach za pomocą npfs (http://sourceforge.net/projects/npfs/) –

+0

Co sprawiło, że przestarzała? :-) Zobacz także jak pytanie Linux na: https://superuser.com/questions/628169/how-to-share-a-directory-with-the-host-without-networking-in-qemu –

Odpowiedz

8

Nie, 9P nie jest przestarzała; Nie znam protokołu, który wykonuje to, co robi, jest czysty i dobrze zdefiniowany, aby mógł być poprawnie zaimplementowany w prawie każdym istniejącym języku.

9P jest używany w różnych systemach. Kilka ostatnich zastosowań w arm-js (an ARM emulator) i 9webdraw (a GSoC project that implements the Plan 9 /dev/draw). Oba są implementacje HTML5 Javascript.

6

Wystarczy dodać trochę, zarówno realizacja klient Linux i kilka serwery są pod aktywnego rozwoju, więc powiedziałbym, że to całkiem wyraźny znak, że ludzie nadal go używają.Jednym z obszarów, który ostatnio był intensywnie używany, jest virtio-9P (vel virtfs), który jest częścią qemu/kvm i może być użyty do bezpośredniego do hostowania dostępu do pliku, był również używany w kilku eksperymentalnych projektach systemów operacyjnych (Libra, PROSE, FusedOS) i włączonych do innych systemów operacyjnych (BSD, MacOSX, Windows, Linux) i hypervisorów (oprócz powyższej instancji KVM, jej również zostały włączone na różne sposoby nto Xen). 9P jest aktualnie używane w superkomputerowych wdrożeniach (zarówno w przypadku Planu 9, jak i Linuksa, zobacz projekt diod na Sourceforge).

Myślę, że powodem jest to, że protokół jest dość prosty, więc implementacje również są dość proste i łatwe do zintegrowania w innym miejscu (istnieje wiele aplikacji zarówno w świecie Planu 9, jak i poza nim, które wykorzystują 9P jako interfejs do aplikacji, podobnie jak niektórzy twórcy stron internetowych używają interfejsów RESTful).

Protokół ma kilka różnych odmian, w tym wariant 9P.L, który został opracowany specjalnie w celu lepszego dopasowania do API VFS Linux. Dodaje on trochę złożoności do protokołu przy dodawaniu operacji, ale usuwa część złożoności mapowania Linux VFS API -> 9P i na odwrót.

3

Jest on stosowany w Erlang-on-Xen zarówno jako protokół przechowywania goofs http://erlangonxen.org/blog/goofs-simple-filesystem

Jest to droga Erlang na xen przypadkach także w inny sposób, zobacz tutaj:

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

Jest również używany przez libvirt z QEMU.

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

9p, do mnie, jest jak na schemacie protokołów sieciowych. W większości przypadków jest to bardzo proste, ale ludzie widzą potrzebę rozszerzenia go, aby pasował do ich otoczenia. Na szczęście robi się to w sposób, który często jest kompatybilny wstecz.