- Цели и задачи дисциплины
- Предмет дисциплины «Технологии программирования сложных систем» – процесс разработки сложных управляющих программ реального времени. Цель дисциплины «Технологии программирования сложных систем» – формирование и развитие общекультурных и профессиональных компетенций магистров для успешной профессиональной деятельности, связанной с разработкой, отладкой и внедрением управляющих приложений реального времени для сложных технических систем на базе ОСРВ, используя встраиваемую аппаратную платформу. Задачами изучения дисциплины «Технологии программирования сложных систем» являются: - Углубить понимание: особенностей ОСРВ, архитектуры микроядра, механизмов реального времени в ОСРВ. - Отработать навыки: разработки многопоточных приложений с жесткими временными ограничениями, управления ресурсами, межзадачного взаимодействия (IPC). - Освоить практику: взаимодействия с аппаратурой на уровне регистров периферии (GPIO, PWM, ADC, UART) и через драйверы устройств. - Научиться применять: инструменты разработки, отладки и анализа производительности. - Сформировать умение: проектировать архитектуру управляющего ПО для типовых задач в технических системах управления.
- Краткое содержание дисциплины
- Архитектура ОСРВ. Микроядро. Менеджеры ресурсов. Принципы реального времени: детерминизм, приоритеты, прерывания. Отличия от монолитных и модульных ОС (Linux). Обзор инструментария. Аппаратная платформа встраиваемой системы управления. Обзор процессора и периферии (GPIO, UART, PWM, ADC, SPI, I2C). Схемотехника важных выводов. Особенности запуска ОСРВ (образ BSP, загрузчик). Потоки (Threads) в ОСРВ: создание, атрибуты, приоритеты, планировщик. Синхронизация: мьютексы, условные переменные, семафоры, спинлоки. Критические секции, инверсия приоритетов. Межпроцессное взаимодействие (IPC): Сообщения (MsgSend/Receive/Reply/Pulse) - основа микроядерной архитектуры. Каналы. Именование. Сравнение с IPC в Linux. Работа с сигналами. Таймеры и временные характеристики. Таймеры. Часы. Анализ временных характеристик: измерение времени выполнения, джиттер. Принципы написания детерминированного кода. Доступ к аппаратуре. Модель "ресурс-менеджер-клиент". Стандартные менеджеры устройств (devc-*, io-*). Прямой доступ к памяти (DMA). Обработка прерываний. Сигналы в контексте аппаратуры. Программирование периферии аппаратной платформы. Администратор ресурсов. Работа с регистрами через разделяемую память. Работа с GPIO, ШИМ. Использование UART, АЦП. Протоколы I2C/SPI. Инструменты отладки и анализа ОСРВ. Системный логгер. Трассировка. Профилировщик. Анализ производительности и временных характеристик. Кросс-отладка. Принципы проектирования надежных систем реального времени.
- Компетенции обучающегося, формируемые в результате освоения дисциплины
- Выпускник должен обладать:
- ПК-2 Способен осуществлять разработку информационных систем с использованием интеллектуального анализа данных
- Образование
- Учебный план 27.04.04, 2025, (2.0), Управление в технических системах
- Технологии программирования сложных систем