MirageOS - это библиотека операционной системы, которая позволяет создавать операционные системы для одного приложения. в котором приложение поставляется как «единое ядро»Какой еОн автономный, способный работать без использования операционных систем, отдельного ядра операционной системы и т. Д.
Для языка разработки приложений Используется OCaml, язык с библиотеками для обеспечения функциональности сетей, хранилища и функций, поддерживаемых системой.. Код проекта распространяется по бесплатной лицензии ISC.
Мираж ОС поддерживает несколько десятков библиотек на языке OCaml для выполнения сетевых операций (DNS, SSH, OpenFlow, HTTP, XMPP и др.), Работают с репозиториями и обеспечивают параллельную обработку данных.
О MirageOS
Для тех, кто не знает что они уникальные ядра, это о структуры, специально разработанные для использования библиотек операционной системы, минимум необходимых для запуска определенного приложения. Это позволяет избежать виртуализации всей ОС и повысить общую производительность.
Вся низкоуровневая функциональность, присущая операционной системе он реализован в виде библиотеки, прикрепленной к приложению.
Приложение может быть разработано в любой операционной системе, а затем скомпилировано в специализированное ядро (отсюда и концепция Unikernel).
Что может работать непосредственно поверх гипервизоров Xen, KVM, BHyve и VMM в форме процесса в среде, совместимой с POSIX или в Amazon Elastic Compute Cloud и Google Compute Engine.
Сгенерированная среда напрямую взаимодействует с гипервизором без контроллеров или системных уровней, что позволяет добиться значительного снижения общих затрат и повышения безопасности за счет уменьшения количества кода, развертываемого для запуска приложения.
Работа с MirageOS сводится к трем этапам:
- Подготовка конфигурации с определением пакетов OPAM, используемых в среде
- Создание среды
- Начало среды.
Несмотря на то, что приложения и библиотеки сформированы на высокоуровневом языке OCaml, конечные среды демонстрируют достаточно хорошую производительность и минимальный размер (например, DNS-сервер занимает всего 200 КБ).
Также упрощается обслуживание сред, поскольку, если необходимо обновить программу или изменить конфигурацию, достаточно создать и запустить новую среду.
Основные новости MirageOS 3.5
Недавно вышла новая версия этой библиотеки, которая MirageOS 3.5 достигает своей версии с новыми улучшениями.
В MirageOS 3.5 se добавить спецификацию интерфейса для работы с базой данных в формате (мираж-кв)и новое хранилище с поддержкой операций чтения и записи и вариант хранения для «непостоянного хранения данных в ОЗУ».
Цель этой работы - заменить интерфейс mirage-fs хранилищем. Кроме того, разрабатывается распределенное хранилище irmin, которое обеспечивает возможность создания баз данных и доступа через протокол Git, а также файловую систему wodan, которая может использоваться на флэш-накопителях.
Библиотеки API в этой новой версии были расширены. в mirage-clock (системные часы), mirage-protocol (сетевые протоколы) и mirage-net (сетевые устройства).
Кроме того, добавлена поддержка пересборки фрагментов пакетов IPv4 (повторная сборка фрагмента) в реализацию стека TCP / IP. Для TCP добавлено поддержка keepalive.
Пакет mirage-net, который предоставляет инструменты для низкоуровневого взаимодействия с сетевыми устройствами, реализует более поздние версии xen, solo5, unix, macos и vnetif.
Среда выполнения на основе Solo5 поддерживалась для работы на гипервизорах FreeBSD bhyve и OpenBSD VMM, поддерживая ARM64 и KVM, добавляя возможность работы с микроядром GenodeOS.
Наконец, еще одним ключевым моментом является то, что была добавлена возможность прикрепления зависимостей пакетов к unikernel, для чего требуется менеджер пакетов opam 2.0.2.
И поддержка языка OCaml 4.06.0 в безопасном режиме для работы со строками.
Если вы хотите, узнать больше об этом вы можете проконсультироваться по следующей ссылке.