OSv - новая открытая ОС, нацеленная на выполнение обособленных программ поверх гипервизора
🕛 19.09.2013, 10:23
На конференции CloudOpen ведущие разработчики гипервизора KVM Ави Кивити (Avi Kiviti) и Дор Лаор (Dor Laor) представили новую свободную операционную систему OSv, выпущенную под лицензией BSD. Система OSv значительно легковеснее Linux и написана на языке C++ с использованием элементов стандарта C++11. В отличие от Linux, OSv был изначально разработана для эффективной работы внутри виртуальной машины, и нацелена на выполнение с максимальной производительностью обособленных приложений, выполняемых с минимальной прослойкой поверх гиперевизора. Из гипервизоров поддерживаются KVM и Xen (HVM, PV), кроме того доступны средства для интеграции с облачным сервисом Amazon EC2. Работа только под управлением гипервизоров позволяет существенно упростить дизайн системы, не задумываясь о поддержке оборудования и драйверах. Из особенностей OSv также можно отметить полностью автоматизированный процесс тюнинга и отсутствие необходимости менять конфигурацию выполняемого окружения. Управление может производиться на лету при помощи REST API или через Shell, доступный по SSH. Загрузка приложения в окружение осуществляется по аналогии с платформами PaaS. Обновления осуществляются через перезаливку готового системного образа. В качестве файловой системы используется ZFS.
OSv способна запускать программы на языке Си и окружения на базе JVM. В том числе возможен запуск JVM-реализаций Java (OpenJDK), JavaScript (Rhino, Nashorn), Scala, Clojure, Ruby (jRuby) и Python (Jython). При запуске Java-проектов поддерживаются типовые Java-системы, такие как Tomcat, JBoss и SpringSource. Из поддерживаемых приложения на языке Си отмечаются Memcached, Redis, Nginx и MongoDB. Запуск программ на Си требует дополнительного портирования с учётом упрощённого ядра ОС.
OSv не реализует традиционное (но медленное) разделение между пространством пользования и ядра, так как в облачной инфраструктуре виртуальная машина обычно обслуживает только одно приложение. Вместо этого OSv предоставляет легковесный планировщик ресурсов с реализацией кооперативной многозадачности, при которой ядро и программа используют общие области памяти и работают без блокировок. В итоге для выполняемых в OSv приложений удаётся добиться максимальной отзывчивости и предсказуемой производительности. Время загрузки системы не превышает одной секунды, по производительности планировщик OSv опережает Linux на 400%.
Из планов на будущее отмечается: поставка специально оптимизированного JVM, изменённого в плане более тесной интеграции с ядром OSv; обеспечение поддержки VMware; расширение средств управления (shell, REST API); улучшение поддержки средств для упрощённого развёртывания приложений в стиле PaaS-систем (Platform as a Service); портирование для архитектур POWER и ARMv8; поддержка запуска приложения на языке Python.