MirageOS е библиотека на операционна система, която ви позволява да формирате операционните системи на едно приложение в който заявлението се доставя като «едноядро»Кои дТой е самостоятелен, може да работи без използване на операционни системи, отделно ядро на операционната система и др.
За език за разработка на приложения OCaml се използва език с библиотеки за предоставяне на функционалности на мрежи, съхранение и функции, поддържани от системата. Кодът на проекта се разпространява под безплатния лиценз на ISC.
Mirage OS поддържа няколко десетки библиотеки на езика 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 KB).
Поддръжката на средите също е опростена, тъй като ако дадена програма трябва да бъде актуализирана или конфигурация е променена, е достатъчно да се създаде и стартира нова среда.
Основни нови функции на MirageOS 3.5
Наскоро беше пусната нова версия на тази библиотека, която MirageOS 3.5 достига своята версия с нови подобрения.
В MirageOS 3.5 се добавете спецификацията на интерфейса за работа с базата данни във формата (mirage-kv), както и ново хранилище с поддръжка за операции за четене и запис и опцията за съхранение за "непостоянно съхранение на данни в RAM".
Целта на тази работа е да замени интерфейса 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 в безопасен режим за работа със струни.
Ако искате научете повече за него можете да се консултирате следната връзка.