Большинство популярных ныне операционных систем родились в конце 1980-х или, в лучшем случае, в начале 1990-х. В те годы ОС — в основном это были UNIX- системы — работали на совершенно другом оборудовании, поэтому подход к разработке ядра несколько отличался, пишет ресурс Geek3d. По мнению создателей Minoca OS, сейчас этот подход устарел, так что можно добиться существенного повышения эффективности, если переписать всё «с чистого листа». Именно этот путь избрали американские разработчики Эван Грин и Крис Стивенс.

«Мы посмотрели на существующие операционные системы и поняли, что прошло более 25 лет с момента написания каких-либо крупных ОС. Мы изучали такие области, как управление питанием, эксплуатационная надёжность, изоляция ресурсов, которые так важны на сегодняшний день. Используя эти знания, мы решили спроектировать современную операционную систему с меньшим количеством кода», — рассказали о причинах создания Minoca OS её разработчики.

Эван Грин и Крис Стивенс называют свое детище гибким, совместимым, не требовательным к ресурсам, отчасти простым и модульным. Основные преимущества перед Linux — низкое энергопотребление, более высокая скорость, меньшее потребление оперативной памяти и возможность незаметного обновления ядра без перекомпиляции драйверов. Minoca OS написана в основном на Cи, с привлечением Cи++ и Ассемблера. Исходный код состоит из 625 тыс. строк. Размер ядра для архитектуры x86 составляет около 750 Кб. Для всей системы с драйверами и видеобуфером требуется от 5 до 7 Мб оперативной памяти. Minoca OS работает с архитектурами x86, ARMv6 и ARMv7 с поддержкой виртуальной памяти.

Система имеет интерфейс типа POSIX (переносимый интерфейс операционных систем), через который работает с приложениями. Некоторые популярные пакеты уже предустановлены. Взаимодействие между драйверами устройства и ядром обеспечивает специальная модель драйверов. Minoca OS использует менеджер управления пакетами opkg и уже получила поддержку таких языков программирования, как Python, Ruby и Lua, платформы Node.js, системы контроля версий Git. В качестве командной оболочки по умолчанию предлагается Bourne shell и заявлена возможность установки Bash через пакетный менеджер.

В Minoca OS реализованы продвинутые функции отладки. Она осуществляется через прошивку, ядро или приложения. Более того, интегрированный отладчик Minoca Debugger отслеживает выполнение программ и использование памяти в реальном времени. Он подробно показывает, на что конкретно расходуются ресурсы.

Пока не совсем понятно, в каких устройствах лучше всего применять новую свободную операционную систему. По идее, это должны быть устройства с ограниченными ресурсами (память, процессор), которым требуется расширенная функциональность высокого уровня: многопоточность, сетевой стек, поддержка файловых систем.

Эван Грин и Крис Стивенс сообщают, что основной проблемой проекта на данный момент является незначительный охват пользователей. Кроме того, их всего двое и они будут рады любой помощи пользователей и разработчиков. Специалисты выложили открытый исходный код Minoca OS и документацию на Github.

Версия для печати (без изображений)