9П (протокол)
В этой статье есть несколько проблем. Пожалуйста, помогите улучшить его или обсудите эти проблемы на странице обсуждения . ( Узнайте, как и когда удалять эти шаблонные сообщения )
|
Протокол связи | |
Цель | Соединение компонентов |
---|---|
Разработчик(и) | Белл Лаборатории |
Введение | 1992 год |
Под влиянием | 9П2000 |
Набор интернет-протоколов |
---|
Прикладной уровень |
Транспортный уровень |
Интернет-слой |
Слой связи |
9P (или протокол файловой системы Plan 9 или Styx ) — сетевой протокол, разработанный для Bell Labs Plan 9 распределенной операционной системы как средство соединения компонентов системы Plan 9. Файлы — ключевые объекты в Plan 9. Они представляют собой окна , сетевые подключения, процессы и почти все остальное, доступное в операционной системе.
9P был переработан для 4-го издания Plan 9 под названием 9P2000 и содержал различные улучшения. Некоторые из внесенных улучшений — это снятие некоторых ограничений на имена файлов, добавление поля метаданных «последний модификатор» для каталогов и файлов аутентификации. [ 1 ] Последняя версия операционной системы Inferno также использует 9P2000. Файловый протокол Inferno изначально назывался Styx, но технически это всегда был вариант 9P.
Серверная реализация 9P для Unix, называемая u9fs. [ 2 ] [ 3 ] включен в дистрибутив Plan 9. 9P OS X клиента Расширение ядра предоставляется Mac9P. [ 4 ] Драйвер клиента ядра, реализующий 9P с некоторыми расширениями для Linux, является частью проекта v9fs . 9P и его производные также нашли применение во встроенных средах, например, в проекте Styx-on-a-Brick для Lego Mindstorms Bricks . [ 5 ]
Серверные приложения
[ редактировать ]Многие приложения Plan 9 представляют собой файловые серверы 9P. Примеры включают в себя:
- acme : текстовый редактор/среда разработки
- Рио : оконная система Plan 9
- сантехник : межпроцессное общение
- ftpfs: FTP- клиент, который представляет файлы и каталоги на удаленном FTP-сервере в локальном пространстве имен.
- wikifs: инструмент редактирования вики , который представляет удаленный вики в виде файлов в локальном пространстве имен.
- webfs: файловый сервер, который извлекает данные из URL-адресов и представляет содержимое и детали ответов в виде файлов в локальном пространстве имен.
За пределами Plan 9 протокол 9P по-прежнему используется, когда требуется облегченная удаленная файловая система:
- NixOS : дистрибутив Linux, использующий менеджер пакетов Nix . NixOS может пересобираться внутри виртуальной машины , где клиент использует 9P для монтирования каталога хранилища пакетов хоста.
- GNU Guix : менеджер пакетов операционных систем и управлять ими , который может создавать экземпляры Unix-подобных . Он может создать экземпляр системы внутри виртуальной машины так же, как это NixOS. делает
- Подсистема Windows для Linux : начиная с Windows 10 версии 1903, подсистема реализует 9P в качестве сервера, а хостовая операционная система Windows выступает в качестве клиента. [ 6 ]
- Crostini : специальный сервер 9P используется для обеспечения доступа к файлам за пределами виртуальной машины Linux. [ 7 ]
- QEMU : устройство VirtFS позволяет совместно использовать файловую систему через 9P, что ускоряется с помощью драйверов ядра и общей памяти. [ 8 ] [ 9 ]
- DIOD : демон распределенного ввода-вывода – файловый сервер 9P.
См. также
[ редактировать ]- Распределенная файловая система
- Все есть файл – философия UNIX
- IL — протокол транспортного уровня, разработанный в Bell Labs для операционной системы Plan 9.
Ссылки
[ редактировать ]- ^ «План 9 от Bell Labs — обзор» . 9p.io.
- ^ «Исследование: u9fs.tgz — это архив исходного кода» . www.netlib.org .
- ^ «План 9 /sys/man/4/u9fs» . 9p.io.
- ^ Бенавенто (19 апреля 2019 г.). «9P для Mac» — через GitHub.
- ^ «Стикс на кирпиче» . Док Cat-V .
- ^ «Что нового в WSL в Windows 10 версии 1903?» . Инструменты командной строки Windows для разработчиков . 16 февраля 2019 г.
- ^ «Запуск пользовательских контейнеров в Chrome OS» . Документация по Chromium OS . Проверено 28 марта 2019 г.
- ^ Джуджури, Венкатешварарао; Ван Хенсберген, Эрик; Лигуори, Энтони; Пулаварти, Бадари (13–16 июля 2010 г.). «VirtFS — сквозная файловая система с поддержкой виртуализации» (PDF) . Симпозиум по Linux .
- ^ «Документация/9psetup» . Документация QEMU . Проверено 28 марта 2019 г.
Внешние ссылки
[ редактировать ]- ресурсов 9P на сайте cat-v.org Страница
- 9P Руководство
- Архитектура Styx для распределенных систем Роба Пайка и Денниса Ритчи.
- Организация сетей в «Плане 9» , Дэйв Пресотто и Фил Уинтерботтом
- Безопасность в Плане 9