Вчера Эван Грин (Evan Green) из компании Minoca Corp. объявил об открытии исходного кода новой операционной системы — Minoca OS — под свободной лицензией GNU GPLv3.
Новая ОС создавалась двумя разработчиками на протяжении нескольких последних лет. Почему они вообще начали проект Minoca? «Мы посмотрели на существующие операционные системы и поняли, что прошло более 25 лет с момента написания каких-либо крупных ОС. 25 лет — это большой срок для накопления знаний, не говоря уж про то, что развитие аппаратного обеспечения в это время шло семимильными шагами. Мы хотели увидеть, получится ли с этой 25-летней ретроспективой создать с чистого листа что-нибудь интересное и уникальное в пространстве операционных систем. Мы почувствовали, что свобода посмотреть свежим взглядом на интерфейсы драйверов ядра может провести к новым мощным возможностям. Мы изучали такие области, как управление питанием, эксплуатационная надёжность, изоляция ресурсов, которые критичны на сегодняшний день, но ещё не были даже на радаре 20 лет назад. Можем ли мы получить то, для чего используются сегодняшние операционные системы, с меньшим количеством кода и меньшим количеством болевых точек? Можем ли мы сделать лучше? Мы решили попробовать».
Minoca OS позиционируется как операционная система общего назначения, написанная полностью с нуля и предназначенная для применения на устройствах с небольшим потреблением энергии, количеством памяти и хранилищем, то есть «для небольших устройств, нуждающихся в полноценной ОС». Авторы нацелены сохранять легковесность ОС, удобство её поддержки, модульность и совместимость с существующим программным обеспечением.
Minoca OS написана на языке Си, является событийной (event driven) ОС с вытесняющей многозадачностью (preemptible), готовностью к SMP, поддержкой сети. На данный момент функционирует на компьютерах с архитектурой x86 и «ряде ARM-плат». Для приложений Minoca OS предлагает «POSIX-подобный интерфейс». Для драйверов ядра реализована модель будущей совместимости (forward compatible), т.е. они пишутся так, что их обновления не повлекут необходимости в пересборке всех драйверов устройств в ОС. Minoca OS использует менеджер управления пакетами opkg и уже получила поддержку таких языков программирования, как Python, Ruby и Lua, платформы Node.js, системы контроля версий Git. В качестве командной оболочки по умолчанию предлагается Bourne shell и заявлена возможность установить Bash через пакетный менеджер.
Разработчики сообщают, что основной проблемой проекта на данный момент является малое распространение ОС, и приглашают всех заинтересованных попробовать ОС в действии. Кроме того, они говорят, что их всего двое, и будут рады любой помощи от пользователей и разработчиков.
Исходный код Minoca и базовая документация по сборке и запуску ОС опубликованы на GitHub.