Системы реального времени Лекция 1: вводная
Понятие реального времени Работа в реальном времени подразумевает возможность обработки событий так, чтобы каждое событие обрабатывалось без задержки Задержка может возникнуть, если на момент поступления события предыдущее событие еще не обработано Но что такое событие?
Понятие события Событие – любая ситуация, требующая обработки Событие может быть внешним (например, нажатие на кнопку) или внутренним (переполнение какого-л. буфера)
Система реального времени Система реального времени – система, которая может обрабатывать события в реальном времени Операционная система реального времени (ОСРВ, RTOS – Real-Time Operating System) - ОС, которая может обрабатывать события в реальном времени
Применение ОСРВ Могут применяться где угодно Должны применяться в тех случаях, когда вся система должна работать в реальном времени (обеспечивать реакцию на события в реальном времени) – чаще всего это встроенные системы Применение ОСРВ не гарантирует того, что вся система будет системой реального времени
ОСРВ vs встроенная система Встроенная система – применяемая в оборудовании, прямо не предназначенном для вычислений (холодильники, бортовые компьютеры автомобилей и т. п.) ОСРВ часто используются во встроенные системы Встроенные системы – не всегда системы реального времени!
ОСРВ: ядро + приложения ОСРВ можно условно разделить на ядро системы и приложения более высокого уровня Ядро = BSP + драйвера устройств
Компиляция ОСРВ Компиляция ядра ОСРВ из исходного кода всегда кросс-платформенная Но что такое кросс-платформенная компиляция?
Кросс-компиляция Кросс-платформенная компиляция (кросс- компиляция) – метод компиляции исходного кода, при котором исполнимый или объектный модуль компилируется не для той системы и/или архитектуры, в которой происходит компиляция Для кросс-компиляции необходимы специальные компиляторы
Кросс-компиляция: host & target Основные понятия кросс-компиляции – host system (исходная система/архитектура) и target system (целевая система/архитектура).
Скомпилировали. Что дальше? После кросс-компиляции ядра системы оно должно быть загружено на оборудование целевой системы. Для этого существует очень много способов