LINUX.ORG.RU

Вышла BuguRTOS-2.0.0!

 , ,


1

2

31 августа вышла очередная мажорная версия BuguRTOS 2.0.0.

BuguRTOS — встраиваемая ОСРВ, ориентированная на применение в программах микроконтроллеров, которая может работать в режимах мягкого и жесткого реального времени.

Основные особенности BuguRTOS:

  • отказ от управления памятью в ядре;
  • пониженные требования к размерам стеков процессов;
  • полностью вытесняемое ядро (код ядра выполняется в отдельном потоке и может быть вытеснен обработчиком прерываний практически в любой момент, за исключением небольших участков);
  • виртуализация прерываний (виртуальные прерывания в BuguRTOS, - это аналог файберов в Zephyr Project);
  • настраиваемый интерфейс системных вызовов (пользователь может легко отключить ненужные системные вызовы, добавить свои или полностью переписать всю таблицу системных вызовов);
  • отсутствие в коде ядра привычных примитивов синхронизации типа семафоров и мьютексов, вместо них есть базовый примитив, на основе которого можно реализовать широкий спектр блокирующих примитивов синхронизации.

В новой версии приозошли следующие изменения:

  • переработан диспетчер системных вызовов (использован паттерн X-macro);
  • переработан API ядра (функции заменены на макросы, для передачи нескольких аргументов теперь используется переменное число параметров, что в сочетании с новым диспетчером системных прерываний позволило добиться гибкости настроек таблицы системных вызовов);
  • обновлена библиотека native API и руковоство по началу работы с BuguRTOS;
  • благодаря Филиппу Клаусу Краузе (разработчику SDCC) добавлен порт STM8/SDCC, в тестах используется свободная библиотека libstm8;
  • код проекта проверен статическим анализатором adlint;
  • исправлено две ошибки.

Фактически BuguRTOS 2.0.x представляет собой платформу для прототипирования ОСРВ, которую можно использовать для обучения низкоуровневому системному программированию.

Планируется расширение функциональности BuguRTOS за счет реализации новых библиотек API, а также перенос на новые архитектуры.

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

★★★★★

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

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

Сначала нужно реализовать еще парочку библиотек API, чтобы посмотреть, насколько универсально и пригодно для подобный вещей ядро BuguRTOS.

В ближайших планах сделать API с11-threads и CMSIS/RTOS (либо FreeRTOS, ололо, мам, я написал FreeRTOS!), пока думаю, что выбрать.

После этого можно будет говорить о стабилизации API ядра, и начинать прототипировать b4.

Потом надо разработать карту памяти для ButtHURD/b4, чтобы тормозило не так сильно, как обычные микроядра, ну хотя бы попытаться.

Дальше надо будет портировать BuguRTOS на что-нибудь с виртуальной памятью (склоняюсь к system/161) и можно будет писать b4.

Дальше в качестве прототипа ButtHURD можно будет написать набор демонов, реализующий OS/161, на основе исходников из нее же.

Дальше всё в тумане...

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

«школьник» работай, работай. Работы у всех «школьников-кунов» не початый край.

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