Plan9 тип файла
Было сказано, что в плане 9 все является файлом.
Пожалуйста, перечислите все,
т.е. все вещи, представленные в файловой системе в plan9(особенно вещи, которые не являются файлами в *nix os-es).
4 ответа
Это не совсем верно, что "все это файл", а, скорее, что большинство вещей имеют файловый интерфейс. Может показаться, что расщепление волос, но есть разница. Я не думаю, что смогу перечислить все, но приведу несколько примеров.
- Интерфейс для TCP/IP является файловой системой,
/net
выставляет "файлы" - Текстовый редактор
acme
имеет связанные управляющие файлы, в которые могут быть записаны текстовые команды для изменения текста в окне - Мышь и клавиатура представлены в виде файлов данных,
/dev/mouse
например - Оконная система
rio
выставляет интерфейс файловой системы - Веб-браузер
abaco
читает из смонтированногоwebfs
файловая система
Интересно, какое взаимодействие "выпадает" из этой договоренности. Поскольку почти все в тексте находится где-то в файле, вы можете использовать обычные сценарии оболочки для реализации таких вещей, как IRC-клиент (чтение / запись текста непосредственно в сетевой "файл").
Есть много бумаг в /sys/doc
каталог (и в Интернете) о разработке и реализации плана 9.
Для (почти) полного списка взгляните на разделы руководства 3 устройства и 4 файловых сервера.
Основная идея заключается в том, что все ресурсы выглядят как файловые системы. Ядро предоставляет ресурсы в виде устройств и пользовательских программ в виде файловых серверов.
Это позволяет легко обмениваться ресурсами в сетевой среде. Например, чтобы использовать мышь, подключенную к другой рабочей станции, просто сопоставьте (привязать в Plan 9 lingo) / dev / mouse с этой рабочей станции к своему пространству имен. Чтобы использовать другую машину в качестве прокси для всех соединений tcp, просто свяжите /net/tcp с этой машины в ваше пространство имен.
Все детали очень хорошо продуманы, и система прекрасно работает на практике. Просмотрите документы и справочные страницы, и если после этого вам все еще будет любопытно, попробуйте и установите его, чтобы увидеть себя.
Plan 9 ориентирован на файловую систему, поэтому он представляет каждый элемент системы в виде файла, что было основной философией UNIX. Таким образом, синергия продвигается в среду, и, например, вы можете получить доступ к поддерживаемому устройству из любого узла сети без необходимости какого-либо типа конфигурации.
Как говорит twopoint718, "стиль" сервисов Plan9 - предоставить файловый интерфейс.
Невозможно перечислить "все", поскольку любой может написать еще один сервис и предоставить его через синтетический файловый интерфейс.
Мне нравится думать о стиле Plan9 как о объектах, основанных на больших чанках, или, как говорит Алан Кей: система, основанная на обмене сообщениями. Вы строите системы, внедряя эти серверы (микросервисы в современной парадигме), определяете их интерфейсы, а затем интегрируете все более комплексные системы, "подключая" составляющие сервисы.