LINUX.ORG.RU

BuguRTOS 3.0.0

 , ,


2

5

13 марта состоялся релиз встраиваемой ОСРВ BuguRTOS 3.0.0.

После выпуска второй версии было получено сообщение от пользователя Endag с просьбой разъяснить использование примитивов синхронизации и сделать API понятнее для новых пользователей.

В ходе дальнейшей переписки был выявлен ряд ошибок и недостатков в ядре BuguRTOS и библиотеке native. Результатом стала переработка ядра и библиотеки.

В BuguRTOS 3.0.0 введены следующие изменения:

  • В API внесены изменения, облегчающие понимание использования возможностей ОС.
  • Ядро переработано с целью повышения производительности, в том числе внесены следующие изменения:
    • Добавлена возможность асинхронного IPC на атомарных операциях (если архитектура их не поддерживает, — используется эмуляция).
    • Для Cortex-M добавлена реализация поиска в битовой карте на инструкции CLZ.
    • Для Cortex-M изменён макрос BGRT_ISR, теперь обработчики аппаратных прерываний вытесняемы.
  • Исправлены три ошибки.
  • Добавлена возможность назначать для счётных семафоров процесс-хозяин, наследующий приоритеты заблокированных процессов.
  • Переработана структура файловой системы для платформенно-зависимого кода.

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

★★★★★

Проверено: Shaman007 ()
Последнее исправление: sudopacman (всего исправлений: 7)

Впечатляющая внимательность к пользователям. Любопытно, есть примеры проектов, в которых BuguRTOS используется? И что в планах - как именно планруется покорить мир и куда двигаться вообще?

zabbal ★★★★★
()
Ответ на: комментарий от shkolnick-kun

см. OSMOCOMM

Во-первых Osmocom, а во-вторых лучше не смотри - непосредственно к Nuttx там имеет отношение только пара патчей для лучшей портабельности, сам проект совсем про другое.

Кстати, обнови заголовок репозитария на github на что-нибудь приличное вместо exported from googlecode.

zabbal ★★★★★
()

C++ 17.2% Objective-C 2.5%

Гитхаб старается причинить тебе бугурт, школьник!

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

Я знал, что её вспомнят. Но там другая крайность - всё на ассемблере.

    Ассемблер FASM
    Ассемблер NASM
    Ассемблер MASM
    Среды Visual C++ 6, C++ из Visual Studio .NET/2005
    Компиляторы GCC, G++
    Компилятор Borland C++
    Компилятор Tiny C
    Компилятор Pascal Pro 

Использование различных компиляторов в КолибриОС: http://diamond.kolibrios.org/hll/hll.htm

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

Зачем тогда их перенесли в новую мажорную версию?

Библиотека native сделана для переноса софта с старых версий с сохранением обратной совместимости (по возможности).

Соответственно, тяжкое наследие переносилось вместе с недостатками.

Некоторые имена имеют префикс bgtr_, а некоторые — не имеют.

В старом API префикса не было.

shkolnick-kun ★★★★★
() автор топика
Ответ на: комментарий от splinter

На самом деле задачи есть:

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

2. Некоторые библиотеки для тех же AVR писаны в императивном стиле с циклами ожидания...

Особенно показательны жалобы ардуинщиков на DS18B20, типа сильно тормозит...

Чтобы можно было использовать такие библиотеки нужна труЪ многозадачность.

3. Императивный код проще писать, можно использовать труд менее квалифицированных прогираммистов...

shkolnick-kun ★★★★★
() автор топика
Последнее исправление: shkolnick-kun (всего исправлений: 1)
Ответ на: комментарий от zabbal

А зачем покорять мир? Я же не пинки и брейн!

shkolnick-kun ★★★★★
() автор топика
Ответ на: комментарий от zabbal

Кстати, обнови заголовок репозитария на github на что-нибудь приличное вместо exported from googlecode.

Doen!

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

Вопрос

И почему же вы сторонник этого заявления?

Peska
()
Ответ на: комментарий от shkolnick-kun

тяжкое наследие переносилось вместе с недостатками
В старом API префикса не было.

Но ведь вышла новая мажорная версия! Если бы именование в ней было приведено к более логичному виду, то для новых пользователей BuguRTOS смотрелся бы чуточку более привлекательно. Есть какая-нибудь политика, определяющая, как долго «тяжкое наследие» будет отравлять будущие релизы?

Я понимаю, когда у коллег кровавый ынтырпрайз с кодовой базой на многие тысячи человеко-лет, так что они ничего агрессивного со своим «наследием» поделать не могут, и будут лелеять его до самого банкротства. Но бугурт-то пока не в таком положении?

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

ПИШЕШЬ ТАКОЙ ОСРВ BuguRTOS С НОВОЙ ИНТЕРЕСНОЙ ИДЕЕЙ...

@

ВЫКЛАДЫВАЕШЬ НОВОСТЬ НА LOR

@

В ОБСУЖДЕНИИ ТЕБЕ ДАЮТ ССЫЛКУ НА СТАТЬЮ ПРО FUTEX-Ы в LINUX...

@

ТЫ ИЗОБРЕЛ ВЕЛОСИПЕД!

@

ТЕХЛОГОГИЯ ИЗВЕСТНА СО ВРЕМЕН BeOS, ЕЙ 20 ЛЕТ!!!

@

ТЫ НАСТУПИЛ НА ТЕ ЖЕ ГРАБЛИ ЧТО И РАЗРАБОТЧИКИ FUTEX...

@

С ГОРЯ ТЫ РЕШАЕШЬ НАБУХАТЬСЯ В ХЛАМ...

@

ПЕРВЫЙ РАЗ ЗА НЕСКОЛЬКО ЛЕТ...

@

BuguRTOS СНОВА ОПРАВДАЛА НАЗВАНИЕ!!!

shkolnick-kun ★★★★★
() автор топика
Ответ на: комментарий от Manhunt

Статью не читал, но реализация ивентов из неё подтекает так же, как сигналы в native API.

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

shkolnick-kun ★★★★★
() автор топика

Дерзай! Это сделает из тебя хорошего инженера.

cvv ★★★★★
()
Ответ на: комментарий от shkolnick-kun

ИМО, в статье интерес представляет ход и состав мыслей автора. А реализацию правильнее смотреть непосредственно в исходниках glibс , чтобы это был на самом деле работающий код, со всеми его нюансами.

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

Алсо, у разрабов musl libc были трудности с pthreads ( достаточно поискать по слову thread вот тут - https://git.musl-libc.org/cgit/musl/tree/WHATSNEW ). Не исключено, что у них в итоговой реализации есть какие-то интересные вещи. Я не смотрел.

А вот что я успел посмотреть - это CloudABI и дизайн-документ по реализации мьютексов/кондваров в нём. Сложилось впечатление, что быдло дилетантское.

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

А вот что я успел посмотреть - это CloudABI и дизайн-документ по реализации мьютексов/кондваров в нём. Сложилось впечатление, что быдло дилетантское.

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

Ну и ещё пропатчили Ядро, чтобы приделать туда свою capability based безопасность.

Судя по https://github.com/bminor/musl в мюслях:

a) не заморачивались с архитектурой мьютексов, тупо сделали по первому варианту из статьи.

б) с условными переменными сделали примерно то же, что и создатели CloudABI, только в юзерспейсе без необходимости корежить ядро.

И да, я тоже дилетантское быдло :)))

shkolnick-kun ★★★★★
() автор топика
Последнее исправление: shkolnick-kun (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.