MirageOS

Продукт
Разработчики: MirageOS Core Team
Дата последнего релиза: 2022/03/30
Технологии: ОС

Основная статья: Операционные системы

MirageOS позволяет формировать операционные системы одного приложения, в которых приложение поставляется как самодостаточный "unikernel", способный выполняться без применения операционных систем, отдельного ядра ОС и каких-либо прослоек.

2022: MirageOS 4.0

30 марта 2022 года стало известно о том, что опубликован выпуск проекта MirageOS 4.0, в котором для разработки приложений применяется язык OCaml. Код проекта распространяется под свободной лицензией ISC.

MirageOS

Как сообщалось, вся низкоуровневая функциональность, свойственная операционной системе, реализована в форме библиотеки, прикрепляемой к приложению. Приложение может быть разработано в любой ОС, после чего компилируется в специализированное ядро (концепция unikernel), которое может запускаться напрямую поверх гипервизоров Xen, KVM, BHyve и VMM (OpenBSD), поверх мобильных платформ, в форме процесса в POSIX-совместимом окружении или в облачных окружениях Amazon Elastic Compute Cloud и Google Compute Engine.

Сгенерированное окружение не содержит ничего лишнего и взаимодействует непосредственно с гипервизором без драйверов и системных прослоек, что позволяет добиться снижения накладных расходов и оптимизации безопасности. Работа с MirageOS сводится к трём стадиям: подготовка конфигурации с определением используемых в окружении OPAM-пакетов, сборка окружения и запуск окружения. Runtime для обеспечения работы поверх гипервизоров построен на базе ядра Solo5.Рынок аутсорсинга информационной безопасности в России: особенности развития и перспективы. Обзор TAdviser 6.5 т

Несмотря на то, что приложения и библиотеки формируются на языке OCaml, итоговые окружения демонстрируют надлежащую производительность и минимальный размер (например, DNS-сервер занимает всего 200 КБ). Оптимизируется и сопровождение окружений, так как при необходимости обновления программы или изменения конфигурации, достаточно создать и запустить другое окружение. Поддерживается несколько сотен библиотек на языке OCaml для выполнения сетевых операций (DNS, SSH, OpenFlow, HTTP, XMPP, Matrix, OpenVPN и т.п.), работы с хранилищами и обеспечения параллельной обработки данных.

Ключевые изменения:

  • Изменён процесс компиляции проектов и unikernel. Вместо ранее применявшейся сборочной системы ocamlbuild задействован инструментарий dune и локальные репозитории (monorepo). Для формирования подобных репозиториев добавлена утилита opam-monorepo, позволившая разделить управление пакетами от сборки из исходных текстов. Утилита opam-monorepo выполняет такую работу, как создание lock-файлов для связанных с проектом зависимостей, загрузка и извлечения кода зависимостей и настройка окружения для применения сборочной системы dune. Непосредственно сборка выполняется инструментарием dune.
  • Предоставлен повторяемый процесс сборки. Использование lock-файлов обеспечивает привязку к версиям зависимостей и позволяет в любой момент полностью повторить процесс сборки с тем же кодом.
  • Реализован обновленный процесс кросс-компиляции и обеспечена возможность кросс-компиляции для всех поддерживаемых целевых платформ из одного общего сборочного окружения, в котором в том числе выполняется кросс-компиляция зависимостей и библиотек, имеющих привязки на языке Си, без необходимости добавления этих привязок в основной пакет. Кросс-компиляция организована с использованием рабочих пространств, предоставляемых сборочной системой dune.
  • Добавлена поддержка целевых платформ, например, предоставлена экспериментальная возможность сборки самодостаточных приложений для работы на платах Raspberry Pi 4.
  • Проведена работа по интеграции частей MirageOS в экосистемы, связанные с разработкой на языке OCaml, для оптимизации сборки приложений в форме unikernel. Многие пакеты MirageOS портированы для сборочной системы dune. Утилита opam-monorepo доступна для установки при помощи пакетного менеджера opam и может использовать в проектах, применяющих сборочную систему dune. Для сопровождения патчей, решающих проблемы со сборкой зависимостей в dune, создано два репозитория dune-universe/opam-overlays и dune-universe/mirage-opam-overlays, которые включены по умолчанию при использовании CLI-утилиты mirage.
  • Оптимизирована интеграция MirageOS с библиотеками на языках C и Rust.
  • Предложен OCaml runtime, позволяющий обойтись без libc (libc-free).
  • Предоставлена возможность использования сервиса Merlin для интеграции с типовыми интегрированными средами разработки[1].

Примечания



СМ. ТАКЖЕ (1)


Подрядчики-лидеры по количеству проектов

За всю историю
2021 год
2022 год
2023 год
Текущий год

  НППКТ (40)
  Ред Софт (Red Soft) (33)
  Softline (Софтлайн) (29)
  Кортис (16)
  Крок (15)
  Другие (327)

  НППКТ (17)
  Алми партнер (7)
  Ред Софт (Red Soft) (4)
  РусБИТех-Астра (ГК \"Астра\")
  Кортис (4)
  Другие (46)

  НППКТ (23)
  Кортис (7)
  Ред Софт (Red Soft) (5)
  ОТР-БИТ (ОТР - безопасность информационных технологий) (2)
  Астра Группа компаний (1)
  Другие (8)

  Ред Софт (Red Soft) (5)
  Кортис (1)
  Кортис Технологии (1)
  Крок (1)
  Линс (Lins) (1)
  Другие (4)

  RDV (РДВ Автоматизация) (1)
  X-Com (Икс ком) (1)
  Другие (0)

Распределение вендоров по количеству проектов внедрений (систем, проектов) с учётом партнёров

За всю историю
2021 год
2022 год
2023 год
Текущий год

  Microsoft (80, 144)
  Ред Софт (Red Soft) (3, 55)
  РусБИТех-Астра (ГК "Астра") (3, 44)
  НППКТ (2, 41)
  ИВК (3, 25)
  Другие (292, 123)

  НППКТ (1, 17)
  РусБИТех-Астра (ГК "Астра") (2, 9)
  Ред Софт (Red Soft) (1, 8)
  Алми партнер (1, 7)
  Microsoft (2, 6)
  Другие (11, 19)

  НППКТ (1, 23)
  Ред Софт (Red Soft) (1, 13)
  ИВК (2, 4)
  Базальт СПО (BaseALT) ранее ALT Linux (3, 3)
  РусБИТех-Астра (ГК "Астра") (2, 3)
  Другие (0, 0)

  Ред Софт (Red Soft) (1, 6)
  Атлант (ГК Applite) (1, 1)
  ИВК (1, 1)
  Microsoft (1, 1)
  Базальт СПО (BaseALT) ранее ALT Linux (1, 1)
  Другие (0, 0)

  Synology (SLMP PTE) (1, 1)
  Другие (0, 0)

Распределение систем по количеству проектов, не включая партнерские решения

За всю историю
2021 год
2022 год
2023 год
Текущий год

  Microsoft Windows - 60
  Ред ОС (Red OS) - 50
  НППКТ: ОСнова (Операционная система общего назначения, ОС ОН) - 41
  Astra Linux Common Edition - 26
  Astra Linux Special Edition - 21
  Другие 190

  НППКТ: ОСнова (Операционная система общего назначения, ОС ОН) - 17
  Ред ОС (Red OS) - 8
  AlterOS - 7
  Astra Linux Common Edition - 7
  Microsoft Windows - 5
  Другие 18

  НППКТ: ОСнова (Операционная система общего назначения, ОС ОН) - 23
  Ред ОС (Red OS) - 13
  Astra Linux Common Edition - 2
  Альт Рабочая станция - 2
  ОС Альт (ранее Альт Линукс (ALT Linux) - 2
  Другие 2

  Ред ОС (Red OS) - 6
  Windows Server 2019 - 1
  Атлант ОС - 1
  ОС Альт (ранее Альт Линукс (ALT Linux) - 1
  Другие 0

  Synology NAS - DiskStation Manager - 1
  Другие 0