Июн 12, 2015 - 0 Comments - Интересно -

Представлена распределённая ОС Node9, сочетающая технологии Inferno и язык Lua

12.06.2015 21:56 Представлена распределённая ОС Node9, сочетающая технологии Inferno и язык Lua

Представлена новая гибридная распределённая операционная система Node9, в основе которой лежит вариант разработанной в Bell Lab’s ОС Inferno, в котором вместо языка Limbo применяется скриптовый язык Lua, а вместо виртуальной машины DIS задействован LuaJIT. Для обеспечения высокой эффективности обработки событий и управления потоками в проекта применяется библиотека libuv. Исходные тексты операционной системы распространяются под лицензией MIT.

Система предназначена как для решения традиционных задач распределённых вычислений и симуляции, так и для применения в облачных системах и сетевых системах управления и контроля. Одной из основных концепций архитектуры Node9 является использование в событийно-ориентированных системах средств динамического скриптового языка, предоставляющего методы функционального и объектно ориентированного программирования. Вместо трудоёмкого определения callback-обработчиков для обработки асинхронных событий в Node9 предлагается использовать параллельно выполняемые сопрограммы Lua (coroutines), взаимодействующие с ОС через каналы обмена сообщениями. Система обладает всеми базовыми возможностями Inferno, такими как привязанные к процессам собственные пространства имён, представление всех ресурсов в виде иерархии файлов, отсутствие различий в доступе к локальным и внешним ресурсам.

При создании распределённых приложений авторы Node9 предлагают не изобретать новые способы, а воспользоваться уже проверенными технологиями Inferno. В окружении Node9 распределённые приложения строятся через связывание между собой имеющихся вычислительных узлов с развёртыванием инфраструктуры поверх единой совместно используемой иерархии ресурсов, построенной при помощи протокола 9p. Передаваемые между узлами данные могут шифроваться при при помощи SSL/TLS. Приложения на Lua могут связываться с приложениями на других языках, в которых можно использовать протокол 9p, таких как Go, Java и Chicken Scheme.

Node9 загружается в специализированную командную оболочку, поддерживающую выполнение выражений на языке Lua (Lua Shell). Приложения размещены в отдельных директориях, в которых собраны все необходимые для их работы библиотеки и файлы, что упрощает установку и удаления программ. Дополнительно предлагается простой управляющий web-интерфейс, который можно использовать в облачных окружениях вместо консоли. ОС Node9 также предоставляет обширные графическое возможности, если она установлена в хост-системе, поддерживающей шейдеры OpenGL/Vulcan.

Система развивается уже около года и уже вполне работоспособна, хотя и находится на стадии начального бета-тестирования. Из незаконченных работ отмечается завершение разработки сервисов уровня ядра и окончательный перевод уровня абстракции Inferno на libuv. Система пока собирается только в OS X, но код изначально написан с оглядкой на обеспечение переносимости, что потребует минимальных усилий для портирования в Linux. Теоретически, Node9 может работать на любых платформах и архитектурах, которые поддерживаются в LuaJIT и Libuv, в том числе в POSIX-системах, Windows, Android, x86, ARM, MIPS.

  1. Главная ссылка к новости (http://thread.gmane.org/gmane.comp.lang….)
  2. OpenNews: ОС Inferno портирована для мобильной платформы Android
  3. OpenNews: В рамках проекта 9front создан форк операционной системы Plan 9
  4. OpenNews: Обновление четвёртого издания ОС Inferno.
  5. OpenNews: Код операционной системы Plan 9 перелицензирован под GPLv2
  6. OpenNews: Выпуск LuaJIT 2.0.3, JIT-компилятора для языка Lua
Тип: Программы
Ключевые слова: inferno, node9, (найти похожие документы)
При перепечатке указание ссылки на opennet.ru обязательно
 
+4 +/
Ещё одна попытка реализовать идеально красивую абстракцию, угу. Ну никак люди не поймут, что не бывает «отсутствия различий в доступе к локальным и внешним ресурсам». Ну вот просто потому что отвалившийся локальный жесткий диск — это ЧП и не проблема ОС или прикладного софта. Отвалившийся смонтированный сетевой ресурс должен быть аккуратно обработан. О различиях в паттернах доступа и подобном я и не говорю. Тут регулярно хочется знать, на SSD или HDD данные лежат, а они — «отсутствие различий».

Причём как полигон для исследования концепций, которые потом будут реализованы где-то в практически применимом виде подобные штуки хороши и нужны — или, как минимум, безвредны. Но надо понимать, что это именно полигон.

Вот подозреваю, что plan9 именно поэтому и не взлетела — практик интуитивно понимает, что слишком красивая архитектура — это всегда результат игнорирования реального мира, и использовать её — значит искать себе приключения.

 

Ваш комментарий
 

This entry passed through the Full-Text RSS service — if this is your content and you’re reading it on someone else’s site, please read the FAQ at fivefilters.org/content-only/faq.php#publishers.


Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Человек ? *