Опубликован исходный код операционной системы Minoca OS, написанной разработчиками «с чистого листа», сообщает cnews. Система требует минимальных ресурсов для работы и отличается от Linux повышенным быстродействием и новым механизмом обновления ядра.
Двое американских программистов выложили на сайте Github открытый исходный код и документацию к созданной ими операционной системы, которую они назвали Minoca OS. Эван Грин (Evan Green) и Крис Стивенс (Chris Stevens) рассказывают, что написали Minoca OS «с нуля», поскольку видели необходимость пересмотреть основы разработки ядра, которые не менялись с 80-90-х годов прошлого века.
Модульная, гибкая и совместимая – так кратко описывают разработчики свое решение. Minoca OS написана в основном на C с применением C++ и Ассемблера. Исходный код состоит из 625 тыс. строк. Размер ядра для архитектуры x86 составляет около 750 Кб. Для всей системы с драйверами и видеобуфером нужно всего от 5 до 7 МБ оперативной памяти. Minoca OS работает с архитектурой x86, ARMv6 и ARMv7 с поддержкой виртуальной памяти.
Система имеет интерфейс типа POSIX (переносимый интерфейс операционных систем), через который работает с приложениями. Некоторые популярные пакеты уже установлены. Взаимодействие между драйверами устройства и ядром обеспечивается благодаря специальной модели драйверов. Такая модель дает возможность записывать драйверы с восходящей совместимостью, что позволяет провести обновление компонентов ядра без перекомпиляции всех драйверов устройства.
Minoca OS ориентирована на маломощные гаджеты, в первую очередь – устройства интернета вещей, так как требует для работы сравнительно небольших ресурсов, например, всего нескольких мегабайт оперативной памяти. Однако при этом устройство получает широкие функциональные возможности, например, многопоточность, поддержку файловых систем и другие компоненты высокого уровня.
В то же время в Minoca OS заложена возможность масштабирования, что делает ее пригодной для компьютеров с многоядерными процессорами и большими объемами оперативной памяти.