
- •1.Система реального времени (срв). Определение. Основные виды событийных воздействий. Временные параметры задачи.
- •2.Различие систем мягкого и жесткого реального времени. Встроенная система. Области применения осрв.
- •3.Процесс разработки программных модулей (написание кода – компиляция – компоновка – запуск. Программные секции в исполняемом файле.
- •4. Реализация срв без использования ос. Машины состояний.
- •5.Операционные системы реального времени (осрв). Определение, история возникновения, отличия от ос общего назначения.
- •6. Обзор осрв. Стоимость, доступность, набор компонентов,…..
- •7. Основные компоненты ядра ос. Многозадачность. Понятие монолитного ядра и микроядра.
- •8. Состав монолитного ядра ос.
- •9. Состав микроядра ос.
- •10. Планировщик: задача, основные составляющие блока контроля задачи(tcb). Алгоритм планирования Round Robin.
- •11. Планировщик: задача, основные составляющие блока контроля задачи(tcb). Алгоритм планирования вытесняющей многозадачности.
- •12.Планировщик: задача, основные составляющие блока контроля задачи(tcb). Алгоритм планирования fifo
- •13. Контекст задачи. Процесс переключения контекста.
- •14. Задача. Машина состояния задачи, особенности перехода из состояния в состояние.
- •15. Бинарный семафор. Назначение, составляющие блока контроля (scb), машина состояний, пример использования. Особенности использования задания временных параметров на захват занятого семафора.
- •16. Семафор-счетчик. Назначение, составляющие блока контроля (scb), машина состояний, пример использования. Особенности использования задания временных параметров на захват занятого семафора.
- •17. Mutex. Назначение, составляющие блока контроля (scb), машина состояний, пример использования. Особенности использования задания временных параметров на захват занятого muteх.
- •19. Прерывания, общая схема обработки прерываний.
- •20.Прерывания, схема обработки мультиплексированных (разделяемых) прерываний.
- •21. Прерывания, схема обработки вытесняемых прерываний.
- •22.Прерывания, схема обработки прямых и отложенных обработчиков прерываний.
- •23. Время. Основные понятия и характеристики. Необходимость точного измерения и четкой синхронизации для срв. Системный таймер. Часы реального времени.
- •24.Время. Сторожевой таймер. Gps. Ntp.
- •25. Система ввода-вывода. Символьные и блочные типы устройств. Драйвера. Общая структура драйвера. Точки входа, принцип инициализации и работы.
- •26. Таблица драйверов и таблица устройств. Принцип работы и назначение функции ioctl.
- •27. Программные циклы, используемые при проектировании срв. Этап моделирования. Совместный аппаратно-программный цикл разработки.
3.Процесс разработки программных модулей (написание кода – компиляция – компоновка – запуск. Программные секции в исполняемом файле.
Сборка приложения:
Написание кода (hello.c) – нельзя сказать результат действий.
На этапе компиляции (получаем hello.obj, hello.o) – лексический и синтаксический анализ, трансляция в машинном коде, формирование относительных адресаций.
Компоновка (получаем hello.exe) – разрешение относительных
адресов (внешних зависимостей), трансляция относительных адресов в абсолютные, добавление заголовка используемого файла.
Сегменты кода: секции данных (для минимизации данных и тд) .code .data .stack .heap ….
4. Реализация срв без использования ос. Машины состояний.
1 способ: использование конечного автомата(графа состояний). Пример: лампа с выключателем, есть состояния «вкл» и «выкл»(s1/s2), действия «вкл лампочку» и «выкл лампочку»(a1/a2), события «переключение выключателя в «вкл»» и «переключение выключателя в положение «выкл»»(e1/e2). Граф состояний для этой системы:
Код:
//состояния
#defune ST_LAMP_ON 1 #defune ST_LAMP_OFF 0
//события
#defune EV_TURN_ON 1 #defune EV_TURN_OFF 0
//действия
void turnLampon(…);
void turnLampoff(…);
int state = 0;
int event = 0;
switch(state)
{
case ST_LAMP_OFF: if(event == EV_TURN_ON) {turnLampon();
state= ST_LAMP_ON;}break;
case ST_LAMP_ON: if(event == EV_TURN_OFF) {turnLampoff();
state= ST_LAMP_OFF;}break;
}
2 способ: циклическое выполнение (напр.: call-центр, очередь событий). Характерен для систем массового обслуживания.
for(;;)
{
func1(); //чтение данных
func2(); //обработка д-х
func3(); //передача обработанных д-х в другой модуль
}
5.Операционные системы реального времени (осрв). Определение, история возникновения, отличия от ос общего назначения.
ОСРВ-ОС, способная гарантировать требуемый уровень обработки событий в определенный момент времени.
Цель ОС: осуществить абстракцию пользователя от аппаратной части.
ОС:
1.ОСОН(общего назначения) имеют широкий основной набор функций. Windows, Linux, MAC OS. 2.Сетевые ОС(использование кот. подразумевает наличие многоранговой сети). Windows Server, Linux Enterprise(Server), MAC OS Server, UNIX. 3.Облачные ОС. Windows Azure, Chrome OS 4.Специализированные ОС(встроенные, ОСРВ, ОС для ЦОС)
RedHat (одна из Linux):
1.RedHat Desktop/Server – для коммерч.использования(деньги платят за тех.поддержку) 2.Fedora(ОСОН) – в ней все тестируется и пробуется
UNIX:
1.hp c ОС HP-UX 2.Oracle c ОС Solaris для Ultra SPARC 3.IBM с ОС AIX(работает на процах Power)
6. Обзор осрв. Стоимость, доступность, набор компонентов,…..
Подходы к возможности сделать Linux -> ОСРВ:
1.Кастолизация, модификация ядра Linux -> PATCH (позволяет достичь другой работы ядра)
(RTAI,RTEMS), но Linux после этого несовсем Linux.
Основные этапы:
1.вытеснение из ядра модулей, влияющих на производительность
2.«тонкая» настройка параметров ядра
3.переработка\доработка программного кода планировщика
2.Добавление ядра РВ в Linux