Большинство популярных ныне операционных систем родились в конце
«Мы посмотрели на существующие операционные системы и поняли, что прошло более 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.