Minoca OS: новая свободная операционная система



    Двое отважных разработчиков Ивэн Грин и Крис Стивенс решились на смелый шаг. Они написали с нуля совершенно новую операционную систему Minoca OS и опубликовали её исходный код под свободной лицензией GNU GPL v3.

    Это 625 000 строк отлично документированного кода, преимущественно на языке программирования Си, частично на C++ и Ассемблере. Ядро ОС для x86 имеет размер около 750 КБ. С драйверами, сетевым стеком и видеобуфером свежезагруженная система использует 5−7 МБ оперативной памяти.

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

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

    Minoca OS — операционная система общего назначения, которую можно использовать где угодно. Предположительно, она лучше всего подходит для встраиваемых систем и мобильных устройств, где существуют ограничения на энергопотребление, объём памяти и мощность процессора.


    Предположительные области использования Minoca OS

    Разработчики говорят, что стремились сделать экономичную, модульную и легко поддерживаемую операционную систему. Она совместима со стандартным набором интерфейсов POSIX. Это значит, что на ней можно запускать многие прикладные приложения, которые работают под Linux.

    Важная инновация состоит в специальном интерфейсе между драйверами устройств и ядром ОС. Эта модель делает возможным написание драйверов «с упреждением» на будущие версии ядра. Другими словами, ядро может обновляться совершенно незаметно, без рекомпиляции драйверов.



    Пока не совсем понятно, в каких устройствах лучше всего применять новую свободную операционную систему. По идее, это должны быть устройства с ограниченными ресурсами (память, CPU), но в то же время для которых требуется расширенная функциональность высокого уровня: многопоточность, сетевой стек, поддержка файловых систем. Разработчикам таких систем предлагают попробовать Minoca OS — и забыть о трудностях адаптации программного обеспечения к конкретному оборудованию. Не нужно будет возиться со специфическими багами уникальной встраиваемой системы, если в универсальной ОС ядро обновляется вместе с выходом свежих патчей.



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


    Отладчик Minoca OS





    Minoca OS запускается на архитектурах x86, ARMv6, ARMv7 с поддержкой виртуальной памяти и несколькими мегабайтами ОЗУ. Операционная система отлично масштабируется, поэтому хорошо работает и на персональных компьютерах с большим количеством процессорных ядер и гигабайтами оперативной памяти.

    В комплект поставки входят драйверы для многих стандартных устройств.

    В чём отличие от различных дистрибутивов Linux и зачем потребовалось создавать совершенно новую ОС, чем она отличается от этих дистрибутивов? Разработчики отвечают и на этот вопрос. По словам Ивэна Грина, со стороны приложения или пользователя они постарались сделать операционную систему как можно более похожей на популярные серверные дистрибутивы Linux. Цель состоит в том, чтобы портировать как можно больше приложений на Minoca OS. А вот самые серьёзная концептуальная разница кроется на уровне ядра, где разработчики постарались применить некоторые альтернативные решения в части дизайна и философии архитектуры. Это действительно важные решения, но они не видны пользователю напрямую, а проявляются в сниженном энергопотреблении, лучшей отзывчивости (то есть более высоком быстродействии), большем количестве свободной памяти, незаметных обновлениях ядра и т.д. Несмотря на лучшую отзывчивость по сравнению с Linux, систему Minoca OS нельзя назвать ОС реального времени.

    Ссылки:

    Поделиться публикацией
    Похожие публикации
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама
    Комментарии 56
    • 0
      Ядро ОС размером около мегабайта занимает всего несколько мегабайт оперативной памяти.>
      Круто сказано.
      • +14
        Не вижу противоречия.
        • 0
          А я не вижу никаких цифр.
        • +1
          >> Ядро ОС размером около мегабайта занимает всего несколько мегабайт оперативной памяти.>

          > Круто сказано.

          bzImage. bz. BZ!
          • +1
            Согласен — не понятно, что в этом удивительного. Аналогичное потребление имеют OpenWrt и ему подобные варианты Linux.
          • +2
            Уже не первую систему видим, где ушли от наследия, но постарались сделать совместимой со старым, даже облегчить портирование приложение с других ОС. Вопрос в силах разработчиков (и росте комьюнити) — осилят или нет портирование того, что минимально нужно.

            Под IoT пишут сегодня все, кому не лень. Но полноценную ОС на IoT устройство ставить не совсем чтобы обязательно, можно и только нужное ПО запихнуть, с совсем маленьким ядром.

            В общем, взлетит ли, и долго ли пролетает — время покажет, но вроде как не верится. Если только какой-нибудь заинтересованный и богатый спонсор не найдется, вроде Intel.
            • +5
              GPLv3 главное отличие от других, спонсорам может не понравиться.
              • +3
                Хотя я похоже не совсем прав, циатата из LICENSE: «Minoca offers alternative licensing choices for sale.
                Contact info@minocacorp.com if you or your company are interested in licensing
                this software under alternate terms.»
            • +7
              Ждём дебиан с этим ядром
              • 0
                Энергопотребление не замеряли?
                • +14
                  357
                  • 0
                    Великолепно!
                    • +2
                      Скорее, 42 :)
                      • 0
                        На три часа хватит?
                        • 0
                          Электросети хватит, если на него не ставить андроид.
                  • 0
                    Однозначно снимаю шляпу перед разработчиками.
                    Но разве не разумнее направить свой потенциал в сторону разработки уже существующих мелких проектов? Которые хоть как то, но не сбавляют оборотов, да и имеют уже хоть какую то софтверную базу, коммьюнити и задачи? Да да, я о колибри, например. Или требуется создать ажиотаж?
                    • +2
                      Колибри интересна лишь в качестве эксперимента и игрушки выходного дня, практическое применение же крайне ограничено из-за использования ассемблера как основного языка разработки. Зачем вы хотите создать бессмысленный ажиотаж вокруг колибри?
                    • 0

                      Z: в начале пути к файлам немного отпугивает, хотя разделитель — нормальный /. А в целом, независимость драйверов от версии ядра выглядит киллер-фичей.

                      • +1
                        мб это сборка на винде?
                        • +1
                          Интерфейс командной строки windows на это тоже намекает.
                      • +2
                        >свободная
                        нет. https://github.com/minoca/os/blob/master/CONTRIBUTING.md#contributor-agreement
                        • +1

                          Ну как сказать, CLA есть у многих компаний как раз по причине того, что на свободном ПО у них строится бизнес. Причём, его могут требовать по разным причинам: от сохранения за собой возможности продажи под ограничительной лицензией (как в этом случае), до возможности публикации в AppStore (на чём попался VLC в своё время).


                          Вам же никто не мешает сделать форк этой программы под GPLv3 и развивать его отдельно без CLA. Так что, да, свободная.

                        • +7
                          > В чём отличие от различных дистрибутивов Linux и зачем потребовалось создавать совершенно новую ОС, чем она отличается от этих дистрибутивов? Разработчики отвечают и на этот вопрос.

                          Я вот не поленился сходить по ссылке и почитать ответ. Можно сказать, что ответа нет. «мы сделали новое и по-другому». Какие именно архитектурные решения применялись, какие проблемы старых систем они смогли побороть новой архитектурой, какие программные инновации отвечают развитию современного железа — ничего этого не описано.

                          Нашли силы написать 650k строк кода, но не осилили ответить на простой вопрос «зачем».
                          • +1
                            Зачем? Скорее всего, за этим стоит некая научная работа или нечто вроде коллективного дипломного проекта. То есть первая цель была не сделать саму ОС, а понять в деталях, как сделать ОС. Наврядле такой большой проект кто-то будет делать просто ради фана, слишком много человекочасов надо…
                            • 0
                              Чтобы было.
                              • 0
                                Тут Минкомсвязь зарегистрировала "23 российских операционных системы" (очуметь можно). Интересно среди них нет клона и Minoca OS?

                                Да, вопрос остается открытым — зачем Minoca OS и что такое «23 российских операционных системы» и кто ими пользуется?
                                • 0

                                  Весь список по классу ОС из реестра (не все из этого — ОС) https://reestr.minsvyaz.ru/reestr/?sort_by=date&sort=asc&class%5B%5D=54112&name=&owner_status=&owner_name=&set_filter=Y
                                  RAIDIX, Альт Линукс СПТ / КДесктоп / 7.0 Кентавр / Школьный / Сервер / Образование. «Сканер-ВС», Astra Linux Special Edition, РОСА ХРОМ DX / КОБАЛЬТ DX, Sailfish Mobile OS RUS, Calculate Linux Desktop / Directory Server, Kraftway Terminal Linux, Циркон 36СТ / 36 КТ, Ульяновск.BSD (FreeBSD), Базальт Рабочая станция, ICLinux, WTware, ОС микроконтроллера "Магистра х.х.", WANFleX

                            • 0
                              А ещё есть адово минималистичная http://www.includeos.org/
                              • 0
                                Была б ОС реального времени — была б интересной…
                                • 0
                                  Как в ней жить без systemd? /* irony mode off */
                                  • –2
                                    /* irony on */
                                    Кстати да. Хоть здесь можно будет укрыться от Поттеринга.
                                    /* irony off */
                                  • +2
                                    К сожалению, все преимущества этой ОС применительно к десктопному сценарию будут совершенно незаметны по сравнению с тем ужасом, что творится в мощных графических оболочках: КДЕ, Гном и другие. Их конечно пилят, довольно интенсивно, и 90% багов можно никогда и не увидеть, но и оставшихся багов хватает на всё — и на тормоза, и на сегфолты и на спонтанные перезапуски с ругательствами, и на возможные потери данных при этом.
                                    • 0
                                      Графический стек в опенсорсных юниксах — это, конечно, ужас, но всё же сомневаюсь, что он является хоть сколько-либо приоритетным сценарием использования для разработчиков данной ОС, так как судя по написанным ими тулзам, сами они на винде сидят. Профит для встраеваемых систем очевиден, а вот реально интересно было бы узнать, насколько она подходит на роль серверной ОС: насколько производителен сетевой стек, есть ли что-то для эффективного асинхронного неблокируещего IO вроде epoll в Linux или kqueue в BSD-системах и т.д.
                                    • +2
                                      Как выразился один мой знакомый историк про модель танка в игре: «Программистам было скучно».
                                      И суть не в том, что на самом деле танк делался не программистом.
                                      Суть тут в том, что люди которые делают ПО и вообще работают с компьютерами настолько увлечены самим процессом, что сначала делают, потом придумывают применение.
                                      Или просто делают, а применение находят другие, если найдут.
                                      Прямо как здесь.
                                      Так что налицо: «Программистам было скучно»
                                      • +1
                                        Для Orange Pi давайте быстрее!
                                        • 0
                                          Кстати да. Было бы интересной нишей.
                                        • НЛО прилетело и опубликовало эту надпись здесь
                                          • 0
                                            Нет POSIX-совместимости, a на микроконтроллеры не влезет. Для кого все это? Еще и GPLv3.
                                            • +1
                                              > Нет POSIX-совместимости
                                              > Разработчики говорят, что стремились сделать экономичную, модульную и легко поддерживаемую операционную систему. Она совместима со стандартным набором интерфейсов POSIX.
                                              Кому верить- автору поста или вам?
                                              • +1
                                                Из README.md на гитхабе:

                                                It features a POSIX-like interface towards application software

                                                «POSIX-like» как бы намекает, что с совместимостью не задалось.
                                                • 0
                                                  Спасибо, как я и думал- редактор снова налажал.
                                                  • НЛО прилетело и опубликовало эту надпись здесь
                                                    • 0
                                                      Если есть сертификат, то так и пишут, POSIX-certified. Те, кто просто совместимы пишут POSIX-compatible или compliant.
                                                      Может у них где-то спрятаны какие-то другие хедеры, но вот ЭТО на мой скромный вкус и на POSIX-like не тянет.
                                                      • НЛО прилетело и опубликовало эту надпись здесь
                                                        • 0
                                                          Кажется, они неможко пытаются писать позиксовские shell-утилиты. ls и cd пока не осилили, но я в них верю.
                                                          Не очень понятно, почему вдруг редакция решила про это написать. Про куда более серьезный проект Zephyr OS пока что есть только маленькая заметка в корпоративном блоге Intel.
                                              • 0
                                                А BSOD там уже запилили?
                                                • +2
                                                  Структура и стиль исходников настолько похожи на Windows, что я даже и не знаю, что сказать.
                                                  • +1
                                                    По каментам в коде видно, что это всё-же дипломный проект.
                                                    • 0
                                                      «Тому, кто дочитает до этого момента, я поставлю банку пива»

                                                    Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.