449.93K
Категория: ПрограммированиеПрограммирование

Разработка отечественной ОСРВ для высоконагруженных систем

1.

Разработка отечественной
ОСРВ для высоконагруженных
систем
Подготовил ученик промробоквантума ДТ “Кванториум” г. Саратов Канельский Даниил
Преподаватель Курышов Антон Александрович

2.

Актуальность темы
В современных условиях при постоянном развитии микроконтроллеров и усложнении программ для них
всё более и более распространенными становятся так называемые “ОСРВ” (“RTOS”, с английского) операционные системы реального времени, упрощающие разработку(может, можно красивее сказать?).
Популярные решения на рынке во-первых - зарубежные, во-вторых - заточены под универсальность. Если
в России начнётся разработка собственной ОСРВ, то её можно будет:
Адаптировать под популярные в России или разработанные на Родине микроконтроллеры
Задать необходимую специфику использования
Сертифицировать по ГОСТу в соответствии с законами РФ
И в итоге получить систему, которая хорошо будет подходить для использования на Российском рынке

3.

Что даёт ОСРВ для программистов?
ОСРВ занимается распределением ресурсов микросхемы, и реализует такие важные инструменты как:
Планировщик задач, который позволяет управлять выделением ресурсов процессора
Средства синхронизации, делающие взаимодействие задач с данными безопасными
Аллокаторы памяти, обеспечивающие простую работу с оперативной памятью
Переключение контекста и использование двух стеков, что экономит нам место в ОЗУ
Всё это сильно упрощает работу при разработке высоконагруженных встроенных приложений, а
некоторое и вовсе недоступно без ОСРВ

4.

Цели и задачи
1.
2.
3.
4.
5.
Проанализировать текущий рынок микроконтроллеров в производстве и особенности их
применения в России
Провести анализ существующих ОСРВ, найти их преимущества и недостатки, чтобы учесть это при
реализации
Выбрать платформу для начала разработки, учитывая первый пункт
Разработать прототип с учетом всех предыдущих пунктов
На основе сделанной работы сделать выводы и прогнозы на будущее

5.

Анализ российского рынка промышленных
микроконтроллеров
На рынке микроконтроллеров доминируют 4 семейства: 8-битные AVR, 16-битные Texas Instruments,
STM32 и ESP32. Но продукция STMicroelectronics однозначно больше других подходит нашим целям:
быстрые, с большим машинном словом, а также просто дешевые и очень популярные ядра Cortex-M с
архитектурой команд ARMv7-M обеспечивают большой отрыв от конкурентов в области высоких
нагрузок. Также микроконтроллеры этой компании отличает универсальность, в отличии, например, от
ESP32, которые в первую очередь ориентированы на использование в умных домах. На STM32 мы и
реализуем свой первый прототип ОСРВ

6.

Анализ особенностей использования
промышленных микроконтроллеров в РФ

7.

Анализ существующих ОСРВ и выявление их
преимуществ и недостатков
FreeRTOS
AzureRTOS
Embox

8.

Постановка целей реализации
На основе анализов, приведенных выше, было принято решение начать свою разработку для аппаратной
платформы в виде микроконтроллера STM32F103 из-за популярности и дешевизны. Используется ядро
Cortex-M3, типичный представитель серии процессоров Cortex-M, периферия тут разнообразна и
многофункциональна
Необходимо начать с прототипа ОСРВ, который может выполнять базовые функции

9.

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

10.

Итоги разработки
В результате был реализован прототип, который может:
Переключать контекст
Выбирать потоки в соответствии с приоритетом
Последовательно выполнять задачи
Это немного, но данный проект ориентирован не на конечный результат, а на положение(может, не
“положение”, а как-то по-другому? “размещение”? “закладка”?) стартовой точки и задания вектора
развития нашей ОСРВ

11.

Перспективы
Много работы проделано, но ещё больше предстоит проделать в будущем(стоит ли включать это
предложение? не слишком ли вычурно?), ведь мы и дальше будем развивать наш проект: расширять
функционал, приглашать в него новых людей, продолжать/начинать(тут надо будет выбрать)
консультироваться с компаниями ___(какими? желательно указать те, с которыми уже были консультации),
проводить открытые и закрытые тестирования, наблюдать за тенденциями развития рынка
микроконтроллеров и добавлять поддержку современных процессоров, чтобы продукт оставался
актуальным и ___(какое ещё положительное качество следует из прошлых строк? (современным - почти
синоним, так что его не стал писать))
English     Русский Правила