Inferno (операционная система)

редактировать
Inferno
Inferno 4th Edition.png Inferno 4th Edition
Developer Bell Labs,
Написано на C,Limbo
Рабочее состояниеCurrent
Исходная модельОткрытый исходный код
Первоначальный выпуск1996 г.; 24 года назад (1996 г.)
Последний выпуск 4-е издание / 28 марта 2015 г.; 5 лет назад (28.03.2015)
Репозиторий Отредактируйте в Wikidata
ПлатформыARM, PA-RISC, MIPS, PowerPC, SPARC, x86
Kernel typeВиртуальная машина (Dis )
Лицензия GPL, LGPL, MIT
Предыдущая версияPlan 9
Официальный сайтwww.vitanuova.com / inferno /, bitbucket.org / inferno-os / inferno-os

Inferno - это распределенная операционная система началась в Bell Labs и теперь разрабатывается и поддерживается как бесплатное программное обеспечение. Inferno была основана на опыте, полученном с Plan 9 от Bell Labs, а также дальнейшие исследования Bell Labs в области операционных систем, языков, оперативных компиляторов, графики, безопасности, сетей и переносимости. Название операционной системы и многих связанных с ней программ, а также нынешней компании, были вдохновлены Данте Алигьери Божественная комедия. По-итальянски Inferno mea ns «ад» - всего девять кругов в «Божественной комедии» Данте.

Содержание
  • 1 Принципы проектирования
  • 2 Характеристики
  • 3 История
  • 4 Порты
  • 5 Распределение
  • 6 См. Также
  • 7 Ссылки
  • 8 Дополнительная литература
  • 9 Внешние ссылки
Принципы дизайна

Inferno был создан в 1995 году сотрудниками отдела компьютерных исследований Bell Labs для воплощения идей Plan 9 от Bell Labs к более широкому спектру устройств и сетей. Inferno - это распределенная операционная система, основанная на трех основных принципах, взятых из Plan 9:

  • Ресурсы в виде файлов: все ресурсы представлены в виде файлов в иерархической файловая система
  • Пространства имен: программа видит сеть в виде единого согласованного пространства имен, которое отображается как иерархическая файловая система, но может представлять физически разделенные (локально или удаленно) ресурсы
  • Стандартный протокол связи: стандартный протокол, называемый Styx, используется для доступа ко всем ресурсам, как локальным, так и удаленным.

Чтобы справиться с разнообразием сетевых сред, в которых он был предназначен для использования, разработчики решил, что виртуальная машина является необходимым компонентом системы. К такому же выводу пришел проект Oak, который стал Java, но пришел к нему независимо. Виртуальная машина Dis - это регистровая машина, предназначенная для точного соответствия архитектуре, на которой она работает, в отличие от стековой машины виртуальной машины Java. Преимущество этого подхода - относительная простота создания своевременного компилятора для новых архитектур.

Виртуальная машина обеспечивает эффективное управление памятью на устройствах с объемом памяти всего 1 Мбайт и без оборудования для отображения памяти. Его сборщик мусора представляет собой гибрид подсчета ссылок и сборщика раскрашивания в реальном времени, который собирает циклические данные.

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

В статье Bell Labs Technical Journal, посвященной Inferno, перечислено несколько аспектов переносимости и универсальности, обеспечиваемых ОС:

  • Переносимость между процессорами: в настоящее время она работает на ARM, SGI MIPS, HP PA-RISC, IBM PowerPC, Sun SPARC и Intel x86 с архитектурой и легко переносится на другие.
  • Переносимость между средами: он работает как автономная операционная система на небольших терминалах, а также как пользовательское приложение в Bell Plan 9, MS Windows NT, Windows 95 и Unix (SGI Irix, Sun Solaris, FreeBSD, Apple Mac OS X, Linux, IBM AIX, HP-UX, Цифровой Tru64 ). Во всех этих средах программы Inferno видят идентичный интерфейс.
  • Распределенный дизайн: идентичная среда устанавливается на пользовательском терминале и на сервере, и каждая может импортировать ресурсы (например, подключенный I / O устройства или сети) другого. Благодаря средствам связи системы времени выполнения программы могут быть легко (и даже динамически) разделены между клиентом и сервером.
  • Минимальные требования к оборудованию: полезные приложения запускаются автономно на машинах с минимальными затратами энергии. 1 МиБ памяти и не требует сопоставления памяти оборудования.
  • Переносимые программы: программы Inferno написаны на типобезопасном языке Limbo и скомпилирован в байт-код Dis, который может быть запущен без изменений на всех платформах Inferno.
  • Динамическая адаптируемость: программы могут, в зависимости от оборудования или других доступных ресурсов, загружать различные программные модули для выполнения определенной функции. Например, видеопроигрыватель может использовать любой из нескольких различных модулей декодирования.

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

Возможности

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

A протокол связи, называемый Styx, применяется единообразно для доступа как к локальным, так и к удаленным ресурсам, которые программы используют, вызывая стандартные файловые операции, открытие, чтение, запись и закрытие. Начиная с четвертого издания Inferno, Styx идентичен более новой версии протокола 9P от Plan 9, 9P2000.

Большинство команд Inferno очень аналогично командам Unix с тем же именем.

История
Реклама Lucent для Inferno в IEEE Internet Computing, том 1, номер 2, март – апрель 1997 г.

Inferno является потомком Plan 9 от Bell Labs и разделяет многие концепции дизайна и даже исходный код ядра, особенно в отношении устройств и протокола Styx / 9P2000. Inferno разделяет с Plan 9 наследие Unix от Bell Labs и философию Unix. Многие инструменты командной строки в Inferno были инструментами Plan 9, которые были переведены на Limbo.

В середине 1990-х разработка Plan 9 была отложена в пользу Inferno. О существовании новой системы сообщил Деннис Ричи в начале 1996 года, после менее чем года разработки системы, и в том же году публично представил ее в качестве конкурента Java. В то же время материнская компания Bell Labs ATT лицензировала технологию Java у Sun Microsystems.

. В марте – апреле 1997 года IEEE Internet Computing включила рекламу сетевого программного обеспечения Inferno.. В нем утверждалось, что различные устройства могут обмениваться данными по «любой сети», включая Интернет, телекоммуникации и локальные сети. В рекламе говорилось, что видеоигры могут разговаривать с компьютерами, –а была изображена PlayStation – сотовые телефоны могли получать доступ к электронной почте, а голосовая почта была доступна через телевизор.

Lucent использовала Inferno по крайней мере в двух внутренних продуктах: модуле межсетевого экрана Lucent VPN и телефонном коммутаторе Lucent Pathstar. Первоначально они пытались продать лицензии на исходный код Inferno, но нашли мало покупателей. Lucent мало занималась маркетингом и упускала из виду важность Интернета и отношения Inferno к нему. В то же время Sun Microsystems активно продвигала свой собственный язык программирования Java, ориентированный на аналогичный рынок, с аналогичной технологией, которая работала в веб-браузерах и также удовлетворил спрос на объектно-ориентированные языки, популярные в то время. Lucent лицензировала Java у Sun, утверждая, что все устройства Inferno будут работать с Java. Для облегчения этого был написан байт-код Java для транслятора байт-кода Dis. Однако Inferno так и не нашла клиентов.

Подразделение Inferno закрылось через три года и было продано. Vita Nuova продолжала разработку и предлагала коммерческие лицензии для всей системы, а также бесплатные загрузки и лицензии (несовместимые с GPL ) для всей системы, кроме ядра и виртуальной машины. Они перенесли программное обеспечение на новое оборудование и сосредоточились на распределенных приложениях. В конце концов, Vita Nuova выпустила исходный код под лицензией GPL, и операционная система Inferno теперь является проектом Free / Libre / Open Source Software.

График выпуска
ДатаВыпускКомментарий
1996Inferno BetaВыпущен Bell Labs
Май 1997Inferno Release 1.0Статья в техническом журнале Bell Labs Winter 1997
июль 1999Inferno 2nd EditionВыпущена бизнес-подразделением Lucent Inferno
Июнь 2001 г.3-е издание InfernoВыпущено Vita Nuova
20044-е издание InfernoВыпуск с открытым исходным кодом; изменения многих интерфейсов (несовместимы с более ранними версиями); включает поддержку 9P2000.
Порты

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

Собственные порты включают следующие архитектуры: x86, MIPS, ARM, PowerPC, SPARC.

Порты размещенной или виртуальной ОС включают: Microsoft Windows, Linux, FreeBSD, Plan 9, Mac OS X, Solaris, IRIX, UnixWare.

Inferno также может быть размещен с помощью плагина для Internet Explorer. Вита Нуова сообщила, что плагины для других браузеров находятся в стадии разработки, но так и не были выпущены.

Inferno также был перенесен на Openmoko, Nintendo DS, SheevaPlug и Android.

Distribution

4-е издание Inferno было выпущено в начале 2005 года как бесплатное программное обеспечение. В частности, он имел двойную лицензию по двум лицензиям. Пользователи могли либо получить его по набору лицензий бесплатного программного обеспечения, либо по частной лицензии. В случае схемы лицензирования свободных программ разные части системы охватывались разными лицензиями, включая Стандартную общественную лицензию GNU, Стандартную общественную лицензию ограниченного применения GNU, Общественная лицензия Lucent и Лицензия MIT. Впоследствии Vita Nuova сделала возможным приобретение всей системы (за исключением шрифтов, на которые распространяется сублицензия) по GPLv2. В настоящее время доступны все три варианта лицензии.

См. Также
  • Портал бесплатного программного обеспечения с открытым исходным кодом
Ссылки
Дополнительная литература
  • Stanley- Марбелл, Филипп (2003). «Адское программирование с помощью лимбо». Чичестер: Джон Уайли и сыновья. ISBN 0-470-84352-7. Цитировать журнал требует | journal =() описывает Третье издание операционной системы Inferno, хотя оно больше ориентировано на язык Limbo и его интерфейсы с системой Inferno, чем на саму систему Inferno. Например, он предоставляет мало информации об универсальной командной оболочке Inferno , что понятно, поскольку это учебник по языку программирования.
  • Stuart, Brian (2008). Принципы операционных систем: дизайн и приложения. Курсовая технология. ISBN 1-4188-3769-5., в качестве примеров разработки операционных систем использует Inferno.
  • Аткинс, Мартин; Форсайт, Чарльз; Пайк, Роб ; Трики, Ховард. "The Inferno Programming Book: Введение в программирование для распределенной системы Inferno". Cite journal требует | journal =() был предназначен для обеспечения рабочего -системно-ориентированная точка зрения, но так и не была завершена.
Внешние ссылки
Викискладе есть носители, относящиеся к Inferno (операционная система).
Последняя правка сделана 2021-05-24 14:36:57
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте