Состоялся (https://blog.minocacorp.com/minoca-os-0-4-we-love-the-eighti...) релиз операционной системы Minoca 0.4 (http://www.minocacorp.com), ориентированной на потребительские интернет-устройства и встраиваемую технику. Код распространяется (https://github.com/minoca/os) под лицензией GPLv3. Сборки подготовлены (http://www.minocacorp.com/download/) для архитектур x86, ARMv6 и ARMv7, в том числе сформированы загрузочные образы для плат Raspberry Pi 1/2/3, BeagleBone Black, Asus C201, PandaBoard и Galileo, а также эмулятор на основе QEMU.Операционная система примечательна низким потреблением ресурсов и способна работать на оборудовании с 5 Мб ОЗУ. Система также изначально нацелена на обеспечение минимального энергопотребления и использует встроенные средства для переключения режимов процессоров, влияющих на потребление энергии, а также может минимизировать число пробуждений фоновых процессов в условиях простоя, что позволяет дольше находиться в глубоких режимах экономии энергопотребления.
Minoca имеет событийно-ориентированную архитектуру, поддерживает многопроцессорные конфигурации, вытесняющую многозадачность, сетевой, беспроводной и USB стеки, файловую систему FAT, ACPI, AHCI, ATA, SD/MMC. Пользователям предоставлен набор драйверов (http://www.minocacorp.com/documentation/developers/knowledge.../) для различных контроллеров, сетевых адаптеров и компонентов аппаратных платформ.
Система модульная (http://www.minocacorp.com/documentation/developers/knowledge.../) - подсистемы ядра отделены друг от друга, а взаимодействие с оборудованием абстрагировано, что позволяет поставлять для разных архитектур единое унифицированное ядро, расширяемое через систему надстроек. Драйверы устройств не привязаны (http://www.minocacorp.com/documentation/developers/knowledge.../) к ядру и оформляются в виде универсальных исполняемых файлов, не зависящих от версии ядра (обновление ядра не требует обновления драйверов) и загружаемых по необходимости.
Для разработки приложений предлагается POSIX-подобный интерфейс, благодаря которому в Minoca уже удалось собрать множество существующих популярных пакетов. В настоящее время для установки из специального репозитория (https://gitlab.com/minoca/third-party) доступно более 260 приложений, среди которых GCC, Python 2.7/3.5, Perl, PHP, Ruby, Lua, zsh, bash, binutils, boost, cmake, vim, emacs, git, apache httpd, nginx, MySQL, PostgreSQL, Node.js, OpenLDAP, OpenSSH, unbound, X.Org, GTK+, miniDLNA, Mesa, SDL.
Для установки и обновления программ задействован пакетный менеджер opkg (https://code.google.com/archive/p/opkg/), также применяемый в OpenEmbedded и OpenWrt. В качестве командной оболочки и для выполнения shell-скриптов проектом развивается интерактивный интерпретатор Chalk.
Ключевые новшества Minoca 0.4:- Реализация графического режима и простого пользовательского окружения на базе X.Org, Mesa3D, GTK+, SDL и оконного менеджера twm. Рассматривались варианты создания графического стека на базе DirectFB и Wayland, но DirectFB был отклонён из-за ограниченного числа приложений, а Wayland/Weston из-за излишних привязок к Linux.
- В состав включён fceux (http://www.fceux.com/web/home.html), эмулятор приставок Nintendo Entertainment System (NES), Famicom и Dendy, который используется для тестирования графической и звуковой подсистем, и оценки производительности;- Реализованы драйверы для контроллеров AHCI (SATA), сетевых карт e1000 (Intel Gigabit Ethernet), USB HID, мышей с интерфейсами USB и PS/2, звуковых карт на базе Intel HD Audio и Raspberry Pi PWM Audio;
URL: https://blog.minocacorp.com/minoca-os-0-4-we-love-the-eighti...
Новость: http://www.opennet.ru/opennews/art.shtml?num=46787
Ни слова про производительность...
Зато эмулятор NES запускается
> Зато эмулятор NES запускаетсяИнтеерсный подход к тестированию :). А Марио-то они хоть прошли? На картинке всего-то второй уровень :D
> На картинке всего-то второй уровень.Вообще-то, первый. Вторая его часть.
видимо на встраиваемых системах вопрос производительности не так актуален, как требования к аппаратной части.
Т.е. никто на этой ос высокопроизводительный веб сервер не захочет организовывать. Максимум отрисовка веб-интерфейса для настройки, например для домашнего роутера.
Скорее наоборот: cpu слабый и даже простые операции будут его полностью загружать. Тестов нет, так как ОС совсем молодая и до серьезной оптимизации еще не дошли (ИМХО).
> видимо на встраиваемых системах вопрос производительности не так актуален, как требования
> к аппаратной части.
> Т.е. никто на этой ос высокопроизводительный веб сервер не захочет организовывать. Максимум
> отрисовка веб-интерфейса для настройки, например для домашнего роутера.Не захочет, просто потому, что мы живём в мире лени. Конечно проще заинсталлить цент в пару кликов, а сам в это время лежишь на диване и пиво пьёшь. Но это вовсе не значит, что именно на минимальных осях будет лучшая производительность.
А как ты думаешь, если проц не нагружает куча служб и не нужно туда-сюда гонять десятки мегабайт памяти, оно вдруг станет медленным?
Я тебе по секрету скажу: самые быстрые сервера работают по DOS.
И самые уязвимые.
Годнота, однако!
Лицензия и иксы - Отлично. Не Linux - плохо. Только-только закончился юниксовый зоопарк, и снова пытаются развести.
Чего-то я не понял? Какой был зоопарк? Юниксовый? Там был зоопарк? Это сейчас в вашем линуксе зоопарк в зоопарке на территории зоопарка арендованной OOO "Зоопарки" у главного зоопарка.
Matrioshka.
Matroska
> Это сейчас в вашем линуксе зоопарк в зоопарке на территории зоопарка арендованной
> OOO "Зоопарки" у главного зоопарка.Смешно, но не верно.
Ядро одно, драйвера одни и те же. А то, что user space может сильно отличаться - так это плюс, так как тот самый user и выбирает его исходя из задачи - от embedded до top500.
Да и совместимость по софту практически полная во всем "зоопарке": почти любую программу можно запустить почти в любом дистрибутиве. Сейчас правда есть модные веяния типа PA и wayland. Но люди в здравом уме оставляют поддержку alsa и Xorg.
Только автозапуск всяких троянов не унифицирован, но systemd спешит на помощь.
>Только автозапуск всяких троянов не унифицирован, но systemd спешит на помощь.Оу, у вас там ещё и всё в троянах? А ведь мне говорили, что линукс - тот ещё вшивник.
Если у вас их нет, значит вы о них просто не знаете :)
То, что у АНБ во всех системах и даже железе по бекдору давно всем известно.
Чего, и линукс уже не спасает? Даже gentoo?
Спасёт только Open Hardware и полное отсутствие ошибок в программах и ядре. И то и другое -- утопия.
Ну так ответ заключён во фразе "но systemd спешит на помощь" - не пользуйся systemd.
> Ну так ответ заключён во фразе "но systemd спешит на помощь" -
> не пользуйся systemd.Так я и не пользуюсь. Просто отметил, что у унификации (особенно автозагрузки) могут быть и неприятные стороны.
Что ж плохого-то? Не нравится - не ешь.
>Реализация графического режима и простого пользовательского окружения на базе X.Org, Mesa3D, GTK+, SDL и оконного менеджера twm.Ждём портированя Plasma 5 :)
>Система модульная - подсистемы ядра отделены друг от друга
>Драйверы устройств не привязаны к ядру и оформляются в виде универсальных _исполняемых_ файловОна что, микроядерная?
> The Minoca kernel is written almost entirely in C, with snippets of assembly used only sparingly. The kernel itself is monolithic in style, but is built by combining several system libraries that each observe a well-defined API. Though Minoca OS supports POSIX applications and therefore many Unix-style constructs, the kernel was written entirely from scratch and contains no code from Unix, Linux, or any other *nix variant
Тут говорится всего лишь об отдельный файлах драйверов. Ничто не мешает загрузить их "рядышком" с ядром (будто они были вкомпилены) и использовать.
Главное - дрова не надо перекомпилять как в хвалёном линуксе.
Отсутствие вкомпилированности драйверов - ещё не признак микроядерности. Драйверы могут быть загружаемым в ядро - это называется модульным монолитным ядром. В линуксе не надо "перекомпилять дрова" именно потому что он, хоть и монолитный, но модульный.
>>Система модульная - подсистемы ядра отделены друг от друга
>>Драйверы устройств не привязаны к ядру и оформляются в виде универсальных _исполняемых_ файловУ Торвальдса "подсистемы ядра отделены" - лежат в разных директориях, и модули в виде "Executable and Linkable Format". У темя к ним тот же вопрос?? -->
> Она что, микроядерная?
Там есть слово "исполняемых", т.е. таки не .ko, .so, а именно запускаемых отдельным процессом.
#>>в виде "Executable and Linkable Format"> Там есть слово "исполняемых", т.е. таки
И у меня есть это слово
>не .ko, .so, а именно запускаемых отдельным процессом.
И слова "процесс" там нет! Или есть?? Кто здесь?....
few не five.
про 5 МБ ОЗУ.
>Minimal OS footprint, boots to a shell in 5 MB of RAM.
Вспоминается TR-DOS почему-то.
А на 256кб люди трассирующий дебаггер сделали.
> Вспоминается TR-DOS почему-то.
> А на 256кб люди трассирующий дебаггер сделали.Люди сделали полноценную ось с браузером и запихнули на 1.44 дискетту, ты такие застал?
https://www.youtube.com/watch?v=K_VlI6IBEJ0
А ща грёбанный notepad весит больше.
Иксы убирайте. Они в концепцию "5МБ ОЗУ" никак не вписываются, ЛОЛ. Да и не 5 (five) там, а few. Одни только иксы на старте сожрут 200МБ RAM.
Private + Shared = RAM used Program
9.1 MiB + 292.5 KiB = 9.4 MiB Xorg
Иксам уже сколько лет? Когда они появились, 200Мб даже на серверах было много.
> и не 5 (five) там, а few.Смотрите дальше, там написано "5 MB", а не few или five - "Minimal OS footprint, boots to a shell in 5 MB of RAM."
А, теперь я понял почему у него Qtшные приложения падают. У него памяти с трудом на Иксы хватает.
Открыл новость, увидел скрин с марио и первой мыслью было "что за звиздец с интерфейсом?". Потом дошло.
Не успел прочесть до конца уже подумал о том что тормоз. Но воздержался от коментарием, т.к. могут посчитать за оскорбление.
> Не успел прочесть до конца уже подумал о том что тормоз. Но
> воздержался от коментарием, т.к. могут посчитать за оскорбление.А ты не думай, а просто возьми лопату и дай по башке. Глядишь и мир станет чуточку лучше.
Не нашел образы для qemu. Может кто тыкнуть пальцем?
Вот https://www.minocacorp.com/download/0.4/Minoca-pc.zip
Там raw image, как раз то, что нужно для quemu.
Выглядит интересно. Одно меня смущает - это упоминание какого-то диска Z:, прямо DosBox и подделия от MS напоминает. Чем их простая идея rootfs с точками монтирования для остальных разделов в /mnt/ или /var/run/media не угодила?
> Чем их простая идея rootfs с точками монтирования для остальных разделов в /mnt/ или /var/run/media не угодила?Необходимость монтирования? Для встраиваемых систем - лишняя операция.
Можно сделать как в Kolibri.
Или пусть путь будет отсчитываться от файла устройства. Есть риск запутаться с ними, но в принципе это красиво.
Cd /dev/sda1/
для монтирования в другую папку просто копируем туда файл устройства. Также можно сделать псевдодрайвер который парсит конфигурационные файлы в дерево например.
Можно и не монтировать, а прибить гвоздями. Но единая элегантная древовидная структура всё равно же лучше каких-то дурацких дисков A:, B:, C:...?
>Но единая элегантная древовидная структура
> всё равно же лучше каких-то дурацких дисков A:, B:, C:...?Да! И даже с mount-ns "её не брошу, потому что"....
> обновление ядра не требует обновления драйверовКазалось бы, а "крутой интыпрайз" тут Линукс, позорная архитектура которого не выдерживает никакой критики.
Если бы ни эта "позорная архитектура", у нас бы сейчас большинство драйверов были бы проприетарными, и скачивать их нужно было бы с сайтов производителей железа, и устанавливать отдельно, из коробки ничего бы не работало. И все равно рано или поздно API обновится и совместимость потеряется, а драйвера производитель уже обновлять не будет — покупайте новую железку. Как в Виндовс, в общем.
>> обновление ядра не требует обновления драйверов
> Казалось бы, а "крутой интыпрайз" тут Линукс, позорная архитектура которого не выдерживает
> никакой критики.Драйвера — часть ядра и обновляются вместе с ядром. А за то, что некоторые производители жмутся открыть код драйверов (или хотя бы спецификации на устройство) и предоставить его для включения в ядро, разработчики ядра не отвечают.
Интересно, какую архитектуру ты считаешь идеальной? Уж не архитектуру NT ли?
> Интересно, какую архитектуру ты считаешь идеальной? Уж не архитектуру NT ли?Тебе тоже показалось, что он него пасёт несвежим вантузом?
> Интересно, какую архитектуру ты считаешь идеальной? Уж не архитектуру NT ли?Идеальной архитектуры нет. Нет даже адекватной. Тем более ее нет среди массово используемых сейчас ОС. Товарищ Kodir, конечно, глупость написал, но глупость эта не в том, что архитектура Линукса "не выдерживает никакой критики" (я бы так про практически любую из используемых сейчас ОС сказал), а в том, что проблема как будто именно в Линуксе и в способе обновления драйверов.
Вот здесь хороший список принципов, соблюдения которых следовало бы ожидать от адекватной системы: http://www.loper-os.org/?p=284
> DirectFB был отклонён из-за ограниченного числа приложенийТуповатый резон, надо заметить. ОС и так "никто" - про какие приложения тут можно рассуждать?? И вообще в embed не особо надо париться, что не пойдёт какая-то линуксовая перделка - всё равно БОЛЬШИНСТВО приложений - именно "одна большая аппликуха для конкретных задач". Тут больше надо развивать библиотеки, которым, очевидно, пофиг на иксы или буфера. Тут надо выбирать наиболее эффективный по CPU и памяти способ. DirectFB тут просто идеал.
развивайте.
Кто сможет запилить веб-сервер и менеджер файлов на UEFI? Я проспонсирую.