Готовый перевод Inferno Design Principles / Принципиальный дизайн Inferno: Chapter 1

Inferno - распределенная система основанная на применении трех основных принципов:

* Ресурсы как файлы: все ресурсы представляются как файлы в иерархической файловой системе

* Пространство имен: с точки зрения приложения сеть это простое связанное пространство имен которое выступает в роли иерархической файловой системы, но может представлять собой физически разделенные (локальные или удаленные) ресурсы

* Стандартный коммуникационный протокол: стандартный протокол, названный Styx, используется для доступа ко всем ресурсам как локальным, так и удаленным

Ресурсы как файлы
Все ресурсы Inferno как локальные, так и удаленные, представлены как набор динамических файлов в иерархической файловой системе. Эти файлы используются для предоставления таких вещей как, устройства хранения, процессы, сервисы, сети и сетевые соединения. Все приложения могут полуить доступ к каждому ресурсу при помощи обращения к соответствующим файлам используя стандартные операции с файлами. Преимущества ипользования файлов в системе, в качестве главной концепции таковы:

* Файловые системы имеют простые и хорошо понимаемые интерфейсы в широком диапазоне операционных систем.
файловые интерфейсы обычно содержат небольшой набор хорошо определенных операций, таких как открытие, чтение и запись
* Ориентация на файловую систему уменьшает объем кода для интерфейсов и сохраняет Inferno-систему небольшого размера, надежную и обладающую высокой переносимостью
* Соглашения о наименовании файлов хорошо известны, единообразные и легко понимаемые
* Права доступа и разрешения для доступа к файлам просты и могут быть использованы для обеспечения многоуровневой безопасности

Имена файлов и содержимое этих динамических файлов могут быть сгенерированы основании запроса или пользователя. Например, файл с данными сенсора как ресурса может различаться в зависимости от времени чтения или данные могут возвращаться кадый раз при чтении одной строки .

Пространство имен
Втрой ключевой принци Inferno это вычисляемое пространство имен, по которому приложение строит уникальный частный згляд на ресурсы и сервисы к которым оно обращается. Каждый набор ресурсов представлен как иерархия файлов доступ к которой осуществляется через стандартный набор операций. Различные ресурсы и сервисы используемые процессами скомбинированы в иерархию файлов имеющую один корень которая и называется "пространство имен". Ресурсы доступные в идивидуальном пространстве имен могут быть расположены на самом клиенте или на множестве серверов по всей сети.

Одна из главных выгод использования пространства имен в том, что приложение может пользоваться ресурсами совершенно прозрачно. Как только динамические файлы представляющие ресурсы мудут смонтированы у пространству имен они становятся видны приложению, которое может обращаться к ним без знания того где физически они расположены локально или удаленно.

Например, графический отладчик читает динмаические файлы каталога /prog для доступа к информации о текущих системных процессах. Однако, если пользователь пожелает отладить процесс на удаленной машине, все что от него потребуется - импортировать каталог /prog с этой машины. Все, что требуется от отладчика - это просто читать файлы кталога /prog не заботясь где они на самом деле находятся.

Стандартный коммуникационный протокол
Третий ключевой принцип Inferno - это использование стандартного коммуникационного протокола Styx. Все ресурсы, включая сеть и сетевые подключения представлены как файлы, поэтому нужен только один протокол для коммуникации с ними и предоставления доступа к ресурсам, как локальным, так и удаленным.
Такой подход предоставляет естественный способ создания распределенных систем используя хорошо известную технолгию для подключения удаленных файловых систем.
Наличие единого стандартного коммуникационного простокола также дает единую точку сосредоточения средств обеспечения безопасности, Styx предоставляет несколько механизмов для безопасной коммуникации:

* Аутентификация пользователей, основанная на сертификатах
* Шифрование сообщений

Так как это часть низлежащей системы, все приложения получают эти приемущетсва автоматически. Styx работает поверх различных транспортных протоколов включая TCP/IP, ATM и PPP.

Переведено на Нотабеноиде
http://notabenoid.org/book/2285/7685

Переводчики: rapidfx, j1m

Настройки

Готово:

100.00% КП = 1.0