9P (протокол) - 9P (protocol)

редактировать

9P(или Протокол файловой системы Plan 9 или Styx ) - это сетевой протокол, разработанный для Plan 9 от Bell Labs распределенная операционная система в качестве средства соединения компонентов системы Plan 9. Файлы являются ключевыми объектами в Plan 9. Они представляют окна, сетевые соединения, процессы и почти все, что доступно в операционной системе.

9P был переработан для 4-го издания Plan 9 под названием 9P2000 и содержал различные улучшения. Некоторые из внесенных улучшений: удаление определенных ограничений имени файла, добавление поля метаданных «последний модификатор» для каталогов и файлов аутентификации. Последняя версия операционной системы Inferno также использует 9P2000. Файловый протокол Inferno изначально назывался Styx, но технически он всегда был вариантом 9P.

Называемая серверная реализация 9P для Unix включена в дистрибутив Plan 9. Mac9P предоставляет клиент 9P OS X расширение ядра. Клиентский драйвер ядра, реализующий 9p с некоторыми расширениями для Linux, является частью проекта v9fs. 9P и его производные также нашли применение во встроенных средах, таких как Styx on a Brick.

Содержание

  • 1 Серверные приложения
  • 2 Реализация
  • 3 См. Также
  • 4 Ссылки
  • 5 Внешние ссылки

Серверные приложения

Многие приложения Plan 9 имеют форму файловых серверов 9P. Примеры включают:

  • : текстовый редактор / среда разработки
  • rio : оконная система Plan 9
  • сантехник : межпроцессное взаимодействие
  • ftpfs: FTP клиент, который представляет файлы и каталоги на удаленном FTP-сервере в локальном пространстве имен
  • wikifs: инструмент редактирования вики, который представляет удаленную вики как файлы в локальном пространстве имен
  • webfs: файловый сервер, который извлекает данные из URL-адресов и представляет содержимое и детали ответов в виде файлов в локальном пространстве имен

Вне плана 9 протокол 9P все еще используется, когда облегченный требуется удаленная файловая система:

  • NixOS : чисто функциональный и декларативный дистрибутив Linux может перестраиваться внутри виртуальной машины, где клиент использует 9P для монтирования каталога хранилища пакетов хоста.
  • Подсистема Windows для Linux : начиная с Windows 10 версии 1903, подсистема реализует 9P как сервер, а операционная система Windows на хосте действует как клиент.
  • Crostini : специальный сервер 9P используется для обеспечения доступа к файлам за пределами виртуальной машины Linux
  • QEMU : устройство VirtFS обеспечивает совместное использование файловой системы через 9P, что ускоряется с помощью драйверов ядра и общей памяти
  • DIOD : Демон распределенного ввода-вывода - файловый сервер 9P

Реализация

9P отправляет следующие сообщения между клиентами и серверами. Эти сообщения соответствуют точкам входа на уровне Plan 9 vfs, которые должен реализовать любой сервер 9P.

версия
версия протокола согласования
ошибка
Возврат ошибки
flush
Отменить сообщение
auth, attach
Установить соединение
walk
Спуститься по иерархии каталогов
создать, открыть
Подготовить fid для I / O в существующем или новом файле
чтение, запись
Передача данных из файла и в файл
clunk
Забудьте о fid
remove
Удалить файл с сервера
stat, wstat
Запросить или изменить атрибуты файла

См. Также

Ссылки

Внешние ссылки

Последняя правка сделана 2021-07-19 06:47:34
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте