Доступен первый выпуск проекта Runtime.JS (http://runtimejs.org/), нацеленного на предоставления средств для обособленного выполнения JavaScript-приложений поверх гипервизоров. Runtime.JS представляет собой ядро операционной системы, в которое встроен JavaScript-движок V8. Целью разработки является предоставление операционного окружения для выполнения программ на языке JavaScript без лишних прослоек. Ориентация только на запуск JavaScript-кода позволяет пересмотреть архитектуру ядра и предоставить более высокий уровень безопасности, надёжности и производительности. Код Runtime.JS распространяется (https://github.com/runtimejs/runtime) под лицензией Apache 2.0.На языках Си и C++ реализованы только низкоуровневые компоненты для организации загрузки, управления памятью, обработки прерываний, организации ввода/вывода, планирования задач и взаимодействия с движком V8. Всё остальное написано на языке JavaScript, включая драйверы, код управления ресурсами, систему разграничения доступа и средства для управления сеансами. Виртуальная ФС, сетевой стек и подсистемы ввода и вывода оформляются в виде системных сервисов, привязываемых к JavaScript-приложениям, которые выполняются в изолированных друг от друга sandbox-окружениях.
<center><a href="http://runtimejs.org/docs/arch.html"><img src="https://www.opennet.ru/opennews/pics_base/0_1403984815.png" style="border-style: solid; border-color: #e9ead6; border-width: 15px;max-width:100%;" title="" border=0></a></center>
Система является многозадачной - поверх базового ядра может выполняться несколько изолированных приложений. При этом многозадачность не позволяет использовать традиционные процессы или нити, вместо них обеспечивает запуск JavaScript-окружений, по аналогии с открытием разных вкладок в браузере. Для диспетчеризации задач используется работающий в неблокирующем режиме цикл обработки событий (event loop (http://en.wikipedia.org/wiki/Event_loop)), похожий на применяемый в проекте Node.js. В системе запускается по одному экземпляру виртуальной машины V8 на каждое процессорное ядро. Все компоненты ядра, драйверы и пользовательские приложения выполняются в едином адресном пространстве в режиме ядра (ring 0). Защита и изоляция обеспечивается программно силами движка V8. Поддерживается только архитектура x86_64.
Из уже реализованных возможностей отмечается: встроенный движок V8, кооперативная многозадачность, перемещаемые через IPC функций и ArrayBuffer, поддержка SMP и ACPI, драйверы для PCI, клавиатуры и VGA-адаптера, приложение с консолью (REPL). В планах создание сетевого стека, виртуальной файловой системы и набора драйверов virtio для хранилищ и сетевых адаптеров.
<center><a href="http://runtimejs.org/img/runtimejs_2.png"><img src="https://www.opennet.ru/opennews/pics_base/0_1403987477.png" style="border-style: solid; border-color: #e9ead6; border-width: 15px;max-width:100%;" title="" border=0></a></center>
URL: http://runtimejs.org/
Новость: https://www.opennet.ru/opennews/art.shtml?num=40103