Таловка (Иркутская область)
- 1 year ago
- 0
- 0
9P (или протокол файловой системы Plan 9 или Styx ) — сетевой протокол , разработанный для распределённой операционной системы Plan 9 для организации соединения компонентов операционной системы Plan 9. Ключевыми объектами системы Plan 9 являются файлы — ими представлены окна , сетевые соединения, процессы , и почти всё, что доступно в операционной системе Plan 9. В отличие от NFS , 9P поддерживает кэширование и обслуживание (например /proc для представления процессов).
Исправленная версия 9P для 4 редакции Plan 9, которая была значительно улучшена, получила имя 9P2000 . В последней версии операционной системы Inferno также используется 9P2000, который носит название Styx, но технически он всегда являлся вариантом реализации 9P.
Другая версия 9P, 9p2000.u , была переработана для лучшей поддержки окружения Unix . Серверная реализация 9P для Unix, , включена в дистрибутив Plan 9. Драйвер клиента для Linux является частью проекта . Протокол 9P и его производные реализации находят применение во встраиваемых системах, как, к примеру, Styx в проекте Brick .
Многие из приложений операционной системы Plan 9 могут выступать в качестве серверов 9P. Например:
Протокол 9p посылает следующие сообщения между клиентами и серверами . Эти сообщения соотносятся с точками входа в виртуальную файловую систему Plan 9, реализация которой предоставляется любым сервером 9p.
Сообщение | Действие | Man-страница на официальном сайте Plan 9 |
---|---|---|
version | Согласование версий протокола | |
error | Возвращение ошибки | |
flush | Прерывание сообщения | |
auth, attach | Сообщения для установки соединения | |
walk | смена каталога, передвижение дереву каталогов | |
create, open | Подготовка обработчика (fid) для операций ввода-вывода над существующим или новым файлом | |
read, write | Передача данных из файла или в файл | |
clunk | Закрытие обработчика (fid), такой обработчик становится недействительным | |
remove | Удаление файла с сервера | |
stat, wstat | Запрос атрибутов файла или их изменение |