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
- Запросить или изменить атрибуты файла
См. Также
- IL (сетевой протокол), транспортный протокол, который был разработан для 9P в локальных сетях
- Распределенная файловая система
Ссылки
Внешние ссылки