[ #неLinux ] Написана с нуля и опубликована новая открытая ОС. Minoca OS управляется событиями, допускает вытеснение и поддерживает создание сетей

отметили
59
человек
в архиве
[ #неLinux ] Написана с нуля и опубликована новая открытая ОС. Minoca OS управляется событиями, допускает вытеснение и поддерживает создание сетей
Два американских программиста выложили на сайте Github открытый исходный код и документацию созданной ими операционной системы Minoca OS.

Эван Грин (Evan Green) и Крис Стивенс (Chris Stevens) сообщают, что написали Minoca OS «с чистого листа», поскольку видят необходимость пересмотреть основы разработки ядра, которые не менялись со времен написания главных существующих ОС на рубеже 1980-1990-х г.г.

Модульная, гибкая и совместимая – так описывают разработчики свое решение. Открытый код системы опубликован под третьей версией Универсальной общедоступной лицензии (GNU).

Технические характеристики

Minoca OS написана в основном на C, с привлечением C++ и Ассемблера. Исходный код состоит из 625 тыс. строк. Размер ядра для архитектуры x86 составляет около 750 Кб. Для всей системы с драйверами и видеобуфером требуется от 5 до 7 Мб оперативной памяти. Minoca OS работает с архитектурами x86, ARMv6 и ARMv7 с поддержкой виртуальной памяти.

Система имеет интерфейс типа POSIX (переносимый интерфейс операционных систем), через который работает с приложениями. Некоторые популярные пакеты уже предустановлены. Взаимодействие между драйверами устройства и ядром обеспечивает специальная модель драйверов. Модель дает возможность записывать драйверы с восходящей совместимостью, что позволяет провести обновление компонентов ядра без перекомпиляции всех драйверов устройства.

источник: filearchive.cnews.ru
Запуск Minoca OS и установка git в окне менеджера пакетов opkg

Minoca OS управляется событиями, допускает вытеснение и поддерживает создание сетей. За расходованием ресурсов, использованием памяти и работой программ следит отладчик Minoca Debugger.

Сфера применения

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

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

Отличия от Linux

По словам Грина, с точки зрения приложения или пользователя Minoca OS выглядит похожей на серверный дистрибутив Linux. Разработчики выбрали такой вариант сознательно, чтобы ОС могла работать с большим количеством приложений.

Основное отличие от Linux заключается в концепции ядра, архитектура которого предусматривает сниженное энергопотребление, повышенное быстродействие, меньшую занятость памяти и обновление ядра без рекомпиляции драйверов.
Добавил suare suare 2 Ноября 2016
Комментарии участников:
suare
+3
suare, 2 Ноября 2016 , url
вчера в 16:32
Minoca OS: новая свободная операционная система

источник: habrastorage.org

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

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

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

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

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

источник: hsto.org
Предположительные области использования Minoca OS

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

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

источник: hsto.org

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

источник: hsto.org

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

источник: hsto.org
Отладчик Minoca OS

источник: hsto.org

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

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

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

Ссылки:

Исходный код на Github
Образы для Raspberry Pi 2, Raspberry Pi, BeagleBone Black, Asus C201, PandaBoard, x86 PC, x86 PC (UEFI), Galileo
Пакет Minoca OS Starter Pack, который можно запустить в эмуляторе Qemu (в комплект входят загрузочный образ x86 Minoca OS, Minoca Debugger, эмулятор Qemu, Win32 Disk Imager и все бинарники x86)
Совместимые пакеты и инструкции по сборке, в том числе Python, Ruby, Git, Lua и Node.

Документация

POSIX, Minoca OS, Linux, операционная система
suare
+2
suare, 2 Ноября 2016 , url
сегодня 06:59
Minoca OS — новая свободная операционная система для современных небольших устройств

Вчера Эван Грин (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.

Постоянная ссылка к новости: www.nixp.ru/news/13827.html.

Дмитрий Шурупов по материалам Minoca Corp.
Петр Волигуев
+4
Петр Волигуев, 2 Ноября 2016 , url
Молодцы, переписали ядро линукс.
GreyWolf
+2
GreyWolf, 3 Ноября 2016 , url
Скорее Windows. Chris Stevens

Software Design Engineer II
Microsoft
August 2009 – November 2012 (3 years 4 months)
Development for Windows 8: systems engineering; UEFI ecosystem engagement; and OEM consulting.
...
Петр Волигуев
+1
Петр Волигуев, 3 Ноября 2016 , url
С windows есть одна проблема, из-за которой ее ядро не перепишешь…
GreyWolf
+1
GreyWolf, 4 Ноября 2016 , url
Как это не перепишешь? Вроде с 2003-го по 2008-й год Microsoft ядро Windows с нуля писал…
Flinky
+1
Flinky, 2 Ноября 2016 , url
Альтаир
+1
Альтаир, 2 Ноября 2016 , url
Колибри — это больше фановый проект все сделать как можно меньше и на асме.
oleg_ws
+1
oleg_ws, 2 Ноября 2016 , url
SitterOk
+1
SitterOk, 2 Ноября 2016 , url
Какая прелесть..:
Другими словами, ядро может обновляться совершенно незаметно, без рекомпиляции драйверов.
Бэкдор был в ТЗ наверно;)
А вообще занятно, надо будет глянуть на выходных…
istinspring
+2
istinspring, 2 Ноября 2016 , url
Для IoT норм.
suare
+1
suare, 2 Ноября 2016 , url
А зачем им люди? Самая громоздкая часть софта — интерфейс для тупых юзеров, а «вещам», «инструментам», «механизмам», «машинам», «роботам» и «компьютерным системам» и «сетям» он не нужен: они прекрасно понимают друг друга с помощью математических символов, заключенных в сигналах.

Человек — самое слабое и затратное звено технологической цепочки. Всё будет делаться и без него, «беспилотно», главное, чтобы он внятно мог сказать, чего он хочет, а потом и это будет решаться за него, как сейчас решается в интернет-магазинах с сотнями тысяч и миллионами позиций товаров и услуг. Сознательный выбор в таких ситуациях — чистая фикция.
istinspring
+2
istinspring, 2 Ноября 2016 , url
да. человек, однако хорош на заключительных этапах когда есть «single view» и можно посмотреть туда и сразу примерно прикинуть, что и как лучше делать. Анализ данных с кучи мест это не та область где люди хорошо справляются.
suare
0
suare, 2 Ноября 2016 , url
Внимание, память, реакция, восприятие… «Они» нас давно уже уели по всем этим статьям, я уж не говорю об играх в шахматы и Го (про крестики-нолики или морской бой даже вспоминать стыдно, а пасьянс вручную не раскладываю с момента его появления в «окошках», даже карты «кликами» переставляю, потому что «Он» сам, гад догадывается что куда класть.).
Близится эра светлых годов ©
oleg_ws
+1
oleg_ws, 2 Ноября 2016 , url
Интерфейс юниксовый. Видимо shell туда портировали

источник: voipx.ru
fStrange
+1
fStrange [БАН], 2 Ноября 2016 , url
posix интерфейс. написано же
oleg_ws
+2
oleg_ws, 2 Ноября 2016 , url
А причем posix и шеловские команды?
Вообще-то posix это работа с системными библиотеками, а ни как не консольные команды ls, cd и т.п.
Они могли shell и не переносить, а сделать что-то аналогичное msdoc или rt-11 — dir, pip и т.п.
istinspring
+2
istinspring, 2 Ноября 2016 , url
The Portable Operating System Interface (POSIX)[1] is a family of standards specified by the IEEE Computer Society for maintaining compatibility between operating systems. POSIX defines the application programming interface (API), along with command line shells and utility interfaces, for software compatibility with variants of Unix and other operating systems.

при том.
oleg_ws
+1
oleg_ws, 3 Ноября 2016 , url
Система имеет интерфейс типа POSIX (переносимый интерфейс операционных систем), через который работает с приложениями
Т.е. в анонсе системы разговор был только по совместимости по работе приложений (POSIX 1).
На счет совместимости по командам информации нет, тем более по утилитам, которых порядка сотни. Учитывая количество утилит и то, что планируется работа на маломощных гаджетах, скорее всего по части POSIX 2 и не предполагается полной совместимости.
Но судя по тому, что я пробовал — совместимость по этой части стандартов есть в той или иной степени.
Альтаир
+1
Альтаир, 2 Ноября 2016 , url
Главное, чтобы X. org не портировали) В Linux от этого старья с трудом избавляются.
oleg_ws
+2
oleg_ws, 2 Ноября 2016 , url
я обычно с консолью работаю, в основном через mc
Сюда тоже можно это портировать
Альтаир
+1
Альтаир, 3 Ноября 2016 , url
Есть еще эта ОС — www.redox-os.org/
rusinvent
+2
rusinvent, 3 Ноября 2016 , url
Молодцы ребята! Верю в их систему!
Надо только продвигать и тестировать.
Баги всегда находятся


Войдите или станьте участником, чтобы комментировать