LINUX.ORG.RU

Релиз встраиваемой системы реального времени Embox v0.3.25

 , , ,


4

3

17 февраля 2019 года вышел очередной релиз встраиваемой системы реального времени Embox v0.3.25.

Разработчики добавили возможность работы с несколькими сторонними приложениями с открытым кодом:

  • Портирован quake3.
  • Продемонстрирована работа SIP-телефона на STM32F7diccovery на основе проекта PJSIP.
  • Обновлена используемая версия графической библиотеки Mesa3d.
  • Обновлена используемая версия ssh-сервера на основе проекта dropbear.

Кроме того было внесено большое количество изменений:

  • Добавлен интерфейс для работы с устройствами по шине I2C.
  • Добавлен интерфейс для работы с устройствами по шине SPI.
  • Добавлен интерфейс для работы GPIO.
  • Переработана подсистема символьных устройств.
  • Переработана подсистема devfs.

>>> Подробности

★★★

Проверено: jollheef ()
Последнее исправление: Virtuos86 (всего исправлений: 3)

Портирован quake3

джва года ждал

devalone ★★
()

ЛОР такой ЛОР. СПВ не преминут почесать своё ЧСВ на любой новости.

ОС нужна, лишний код никогда не лишний. Тем более видно, что работы сделано много.

Puzan ★★★★★
()
Ответ на: комментарий от upcFrost

С корейцами можно только тягаться если кваку запустят на бугуртосе. Тогда хоть операционка возьмёт на себя часть бугурта при поражении.

ncrmnt ★★★★★
()
Ответ на: комментарий от xDShot

Бегло глянул репозиторий. Код ужасен. Трогать страшно. Держу в курсе.

автор жжет к тому же.

Причем характеристики ядра: микроядро, монолитное, и так далее, также задаются на этапе конфигурирования.

а теперь представьте. Что у вас есть код драйвера, но вы его можете поместить как в отдельный процес, так и в единый процес ядра. И сделать вы это можете просто указав опции. При указании что это отдельный сервер, будет сгенерен код обертки, прокинуты вызовы драйвера и запущен отдельный процесс, ну а для помещения в ядро драйверу ничего не нужно.

а теперь глядим https://github.com/embox/embox/blob/master/src/drivers/char/char_dev.c например

автор наверное скажет сейчас что ядро это такой отдельный процесс ... во всяком случае он чертовски близок к этому.

просто ребята пилят что то, особо не вникая, потом забывают (ну кроме типа основных авторов)

alwayslate ★★
()

Хмм, а сабж можно использовать с миди-клавиатурой в качестве синтезатора (звук в реалтайме выводить)? Или хватит rtlinux, которого некоторые рекомендуют поставить ради музыкальных занятий.

q0tw4 ★★★★
()

Портирован quake3

Это win #ящитаю.

Deleted
()

Микро или монолит?

IPR ★★★★★
()
Ответ на: комментарий от alwayslate

нет спасибо, лучше уж QNX.

Ну начать с того, что QNX проприетарщина, и таковой, видимо, останется (предыдущий владелец открывал код под несвободной лицензией, но с приходом римлян это всё заглохло).

hobbit ★★★★★
()
Ответ на: комментарий от abondarev

Мы действительно привлекли много студентов. Правда это было скорее обучение.

Я считаю, дело нужное

kto_tama ★★★★★
()
Ответ на: комментарий от te111011010

Это инструмент совсем другого калибра.

Quasar ★★★★★
()
Ответ на: комментарий от anonymous

Наверно потому, что это убийца QNX, и область применения у сабжа соответствующая.

Quasar ★★★★★
()
Ответ на: комментарий от abondarev

Ну полноценный CPU c 64 МБ стоит дорого, а в небольшой Linux не влезает

И тут ключевая ошибка: очень даже влезает. У меня есть SD-карточка, которая работает на линуксе. Там всего лишь 24Mb RAM, а уж ядро и окружение совсем мало занимают. Линукс с графическим окружением даже на две дискеты 1.44" умещали. На фоне тулкитов и прочих приблуд это ничто.

Quasar ★★★★★
()
Ответ на: комментарий от alwayslate

нет спасибо, лучше уж QNX.

Зависит от лицензии. Лицензия у сабжа вот такая:


Copyright 2008-2018, Mathematics and Mechanics faculty
                  of Saint-Petersburg State University. All rights reserved.
Copyright 2008-2018, Embox Ltd. All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
1. Redistributions of source code must retain the above copyright
   notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
   notice, this list of conditions and the following disclaimer in the
   documentation and/or other materials provided with the distribution.

THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
SUCH DAMAGE.
Quasar ★★★★★
()
Ответ на: комментарий от Quasar

Нет, там BSD. Не лучшая, имхо, лицензия, но таки свободная.

hobbit ★★★★★
()
Ответ на: комментарий от Quasar

Проблема в том что в огнелисе гавяный аудиовывод и в alsa-plugins-jack он не играет. Причем чинить надо огнелис, но они не примут патч наверно. Может стоит браузер сменить...

q0tw4 ★★★★
()
Ответ на: комментарий от alwayslate

ваши ответы говорят о том что вы не компетенты в этой теме.

спаибо. Разработчик ОС которая все таки существует и даже используется, не компетентен в архитектуре ОС.

Давайте так, если интересно, что имеется в виду. Я попытаюсь объяснить, если цель комметрариев сказать, что кто то некомпетентный несет бред, то просто соглашусь. Ведь описанная идеальная картина, еще действительно не полностью реализована.

ли у вас серьезный трекинг зависимостей ?

Я пытаюсь об этом сказать. То есть Вас не смущает, что в Embox MMU нет, а приложения пишутся со стандартной точкой входа, main(). я не сомневаюсь, что Вы понимаете, что в одном образе пересекающихся символов быть не может.

Дальше, для чего то у нас есть понятия модуля, и зачем то, сначала код линкуется в отдельные объектники, библиотеки и так далее.

Ну и наконец, в описании модулей (да есть и такое понятие) есть прямо такое ключевое слово depends

abondarev ★★★
() автор топика
Ответ на: комментарий от iliyap

На сайте астры написано, что Astra Linux SE есть для x86, arm, mips, PowerPC, zSeries, и e2k.

Странно, наверное у меня устаревшие сведения!

abondarev ★★★
() автор топика
Ответ на: комментарий от anonymous

Qt сколько весит

Qt это библиотека, она может использоваться не вся. Мы собираем статическую версию, и линкуем с образом. Соотвественно нам требуется гораздо меньше памяти. Есть и ограничения конечно просто так ничего не бывает.

про GPU можно не вспоминать с такой памятью

Почему? Все зависит от задачи. Хотя мы не разу не пытались использовать 3д меньше чем с 256 Мб памяти. Так что если говорить о снижении стоимости, то конечно 3d уже подразумевает за собой куда большую стоимость.

abondarev ★★★
() автор топика
Ответ на: комментарий от alwayslate

нет спасибо, лучше уж QNX.

хозяин барин, нравиться QNX используйте его.

сертифицировать linux не возможно, я про настоящую сертификацию если что

абсолютно с Вами согласен.

Embox для микроконтроллеров - да, все понятно, своя ниша. но зачем он на нормальном CPU не ясно, в этом смысла нет

ну для микроконтроллеров, достаточно других проектов. Мы же считаем что пытаемся привнести какую то новую идею (парадигму если хотите). Возможно Вы правы и у нас не получится, увидим.

abondarev ★★★
() автор топика
Ответ на: комментарий от xDShot

Чивооо???? Угораете штоле?

нет, а что в данном виде хранения исходников Вас смышает? Это не наши исходники, у них своя лицензия. мы только предоставляем возможность их использовать.

abondarev ★★★
() автор топика
Ответ на: комментарий от abondarev

Монолитное ядро - подразумевает, что все делается в одном ядерном процессе или потоке.
Микроядро - подразумевает запуск серверов для различных служб ядра, в виде отдельных потоков или процессов.

Потоки неважны.

Монолитное ядро - весь код ядра исполняется на высшем кольце привилегий в едином адресном пространстве.

Микроядро - только малая часть кода исполняется на нулевом уровне привилегий, а сервисы представляют собой процессы на более низких уровнях привилегий.

Как оно всё загружается - всё сразу илпи модулями - не имеет значения

Gandalf
()
Ответ на: комментарий от mittorn

Тошда надо xash3d, а не quake

почему. Ну хотя, quake это демонстрашка, если заташите xash3d, будем благодарны :)

abondarev ★★★
() автор топика
Ответ на: комментарий от q0tw4

Хмм, а сабж можно использовать с миди-клавиатурой в качестве синтезатора (звук в реалтайме выводить)? Или хватит rtlinux, которого некоторые рекомендуют поставить ради музыкальных занятий.

тут нужно учитывать что Embox на данный момент не поддерживает миди-клавиатуру. То есть потенциально, мы сами думали про use-case. Но требуются серьезные доработки, хотя бы драйверов.

Или хватит rtlinux.

Слышал, что это очень трудно, получить хороший звук на linux, но на данный момент, это кажется более приемлимым вариантом

abondarev ★★★
() автор топика
Ответ на: комментарий от Gandalf

Потоки неважны.
...
Как оно всё загружается - всё сразу илпи модулями - не имеет значения

Если можно запустить модуль в виде отдельного потока (процеса) то установить привелегии высокие или низкие, при создании процеса не очень большая проблема

abondarev ★★★
() автор топика
Ответ на: комментарий от abondarev

Мы собираем статическую версию, и линкуем с образом. Соотвественно нам требуется гораздо меньше памяти.

уже писал об этом - абсолютно то же самое можно делать и с ядром Linux, никакого выигрыша mbox не дает кроме собственно разницы в размерах ядра. И вот как только вам нужны полные возможности библиотек речь уже идет о десятках мегабайт - это в разы больше ядра ОС (даже Linux), т.е. размер ядра уже не является определяющим фактором

Почему? Все зависит от задачи. Хотя мы не разу не пытались использовать 3д меньше чем с 256 Мб памяти. Так что если говорить о снижении стоимости, то конечно 3d уже подразумевает за собой куда большую стоимость.

как только вы решите использовать разрешение экрана больше почтовой марки - сразу станет ясно почему. И тут опять вопрос - какой прок от mbox если даже ядро Linux занимает меньше одного буфера экрана ARGB 1920x1080 ?

anonymous
()
Ответ на: комментарий от anonymous

уже писал об этом - абсолютно то же самое можно делать и с ядром Linux, никакого выигрыша mbox не дает кроме собственно разницы в размерах ядра. И вот как только вам нужны полные возможности библиотек речь уже идет о десятках мегабайт - это в разы больше ядра ОС (даже Linux), т.е. размер ядра уже не является определяющим фактором

Не понял, немного. то же самое можно сделать с Linux...

То есть, берем приложение, которое требует совсем немного от Qt берем ядро Линукс (как библиотеку), все линкуем вместе. Из библиотек берутся только требуемые символы.

Или все таки берем ядро линукс (с отключенными опциями), в файловую систему, помещаем все необходимые библиотеки для работы Qt. помещаем qt.

Или еще вариант. В корневой системе, есть только один бинарь, все собрано статически с нашим приложением.

Если требуется полная функциональность, то тут повторяю, вряд-ли удастся добиться существенного уменьшения образа. То есть в этом случае я с Вами , абсолютно согласен. Так же как и в случае с большим разрешением экрана.

Но Embox и предлагается использовать только в узких определенных нишах. Как минимум в данный момент.

abondarev ★★★
() автор топика
Ответ на: комментарий от abondarev

Не понял, немного. то же самое можно сделать с Linux...

не понял - что конкретно вы не поняли ? собрать приложение статически можно и для Linux, в качестве init можно внезапно указать свое приложение, initramfs внезапно можно линковать с ядром - по размеру кроме самого ядра никакой разницы не будет

Но Embox и предлагается использовать только в узких определенных нишах.

не микроконтроллерах - об этом уже тоже писал, потому что на полноценных процессорах смысла его использовать нет

anonymous
()
Ответ на: комментарий от anonymous

не понял - что конкретно вы не поняли ? собрать приложение статически можно и для Linux, в качестве init можно внезапно указать свое приложение, initramfs внезапно можно линковать с ядром - по размеру кроме самого ядра никакой разницы не будет

Спасибо! Но Вы ведь учитываете, что нужно будет статически собрать не только свое приложение, но и все библиотеки начиная со стандартных библиотек. А это выглядит слегка геморойным.

не микроконтроллерах - об этом уже тоже писал, потому что на полноценных процессорах смысла его использовать нет

То есть на полноценных процессорах крутиться только одна ОС (или несколько)?

На самом деле экономия ресурсов, только один из факторов, почему можно применять Embox.

Но повторюсь, мы не претендуем на всеобщее использование. И говорим, что не нужно нас использовать там где нет преимуществ. Естетвенно мы понимаем, что хорошо отлаженный на Linux стек Qt правильнее использовать в оригинальном окружении.

abondarev ★★★
() автор топика
Ответ на: комментарий от abondarev

Но Вы ведь учитываете, что нужно будет статически собрать не только свое приложение, но и все библиотеки начиная со стандартных библиотек. А это выглядит слегка геморойным

не поверите - это одна галочка в меню buildroot

anonymous
()
Ответ на: комментарий от abondarev

очень трудно, получить хороший звук на linux

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

q0tw4 ★★★★
()
Последнее исправление: q0tw4 (всего исправлений: 1)
Ответ на: комментарий от anonymous

не поверите - это одна галочка в меню buildroot

извините, не знал что такая есть. Просмотрел наверное. Это в ядре?

Конечно есть сомнения, поскольку например, Qt по умолчанию не собирается как статическая либа.

Но возможно Вы правы, все девайсы с embedded Linux были прежде всего Linux, c доступом по ssh, файловой системой и так далее.

abondarev ★★★
() автор топика
Ответ на: комментарий от q0tw4

По моему скромному мнению при вменяемых условиях и настройках за качество звука отвечает почти исключительно крутость звукавухи.

тогда однозначно Embox лишний :)

abondarev ★★★
() автор топика
Ответ на: комментарий от abondarev

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

q0tw4 ★★★★
()
Последнее исправление: q0tw4 (всего исправлений: 1)
Ответ на: комментарий от xDShot

Вынести в пакеты в отдельных репозиториях? Выслать патчи апстримам, не?

Стараемся так и делать!

Но, например, с sourceforge были какие то проблемы при скачивании.

Конкретно с приведенным quake3. Там дело не в патчах и исходниках, а в том что для запуска нужны дополнительные файлы. И данное решение показалось наиболее простым.

abondarev ★★★
() автор топика
Ответ на: комментарий от q0tw4

Хотя бы минимизировать все немузыкальные активности системы урезав ОСь к минимуму.

да это Embox умеет, но повторюсь на сегодняшний день, нельзя просто так взять и ... В общем доработак пока слишком много требуется, чтобы вот так просто подключить к неизвестному ноуту неизвестное устройство и чтобы работало как часы.

abondarev ★★★
() автор топика
Ответ на: комментарий от abondarev

Просмотрел наверное. Это в ядре?

нет, это меню buildroot

Build options ---> libraries (static only)

Qt по умолчанию не собирается как статическая либа

Qt5 требует динамических библиотек, точно не могу сказать почему - статической сборкой никогда не заморачивался

anonymous
()
Ответ на: комментарий от anonymous

Спасибо.

Тоже статической сборкой не заморачивался, в голову не приходило на Linux это делать. Думаю Вы правы, что если заморочиться, то все не настолько геморойно, как мне казалось изначально!

abondarev ★★★
() автор топика
Ответ на: комментарий от abondarev

почему. Ну хотя, quake это демонстрашка,

В любой работающей оси должна быть реальная демонстрашка.
Квака для этого подходит хорошо - чуть не сказал идеально.

kto_tama ★★★★★
()
Ответ на: комментарий от abondarev

Если можно запустить модуль в виде отдельного потока (процеса) то установить привелегии высокие или низкие, при создании процеса не очень большая проблема

Ты про какие привилегии? Какие потоки и процессы? Я про привилегии исполнения кода на уровне хардвари, например в х86 есть четыре уровня (т.н. кольца защиты), для армов вроде два (kernel mode, user mode), это на хардварном уровне задано, архитектура проца.

Так вот, если вызов функции происходит с одного уровня привилегий на другой - это очень накладно (может потянуть за собой переключениеи стека и карты памяти со всеми вытекающими). В этом и есть огромное преимущество монолитных ядер - всё ядро в одном кольце защиты крутиться, переключения текущего уровня привилегий проца происходит только когда user mode процесс вызывает сервис ядра.

Gandalf
()
Ответ на: комментарий от kto_tama

Квака для этого подходит хорошо - чуть не сказал идеально.

нам так тоже показалось :)

abondarev ★★★
() автор топика
Ответ на: комментарий от abondarev

если заморочиться, то все не настолько геморойно, как мне казалось изначально

Qt5 точно поддерживает статическую линковку для Linux

https://doc.qt.io/QtForDeviceCreation/qtee-static-linking.html

buildroot почему-то в моей конфигурации не дает его собрать статически, возможно просто из-за лицензий

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.