
- •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. Программные циклы, используемые при проектировании срв. Этап моделирования. Совместный аппаратно-программный цикл разработки.
17. Mutex. Назначение, составляющие блока контроля (scb), машина состояний, пример использования. Особенности использования задания временных параметров на захват занятого muteх.
Мьютекс — целочисленная пер-ная, имеющая 2 состояния (своб. и захвачен). (0,1, 2,...,N), где 0 — свободен, остальные — захвачен. Мьютекс указывает кем он захвачен, не давая другим задачам освободить мьютекс. Также здесь реализован рекурсивный захват и освобождение, при этом счетчик мьютекса увеличивается. Содержание таблицы CONTROL_BLOCK: SemID — идентификатор семафора(число); COUNTER — счетчик (0,1,..., N); TYPE — тип семафора; TASK ID OWNER – идентификатор задачи владельца; POINTER TO TASK WAITING LIST - указатель на список задач, ожидающих освобождения данного семафора (задачи из этого списка выбираются с пом. Планировщика (FIFO или приоритетное планирование).
18. Очереди сообщений. Назначение, составляющие блока контроля (MCB), машина состояний, пример использования. Особенности использования задания временных параметров при посылки и приеме сообщений.
Сообщения позволяют задачам обмениваться данными. Этот механизм может использоваться, когда одной задаче требуется не только известить другую о наступлении события, но и передать ей какие-то дополнительные сведения (например, уведомление о завершении чтения из порта с указанием адреса буфера, где находятся считанные данные). Принцип действия является таким же, как у сигналов и семафоров: задача, которой требуются данные, вызывает системную функцию, которая определяет, доступны ли данные в запрошенном почтовом ящике. Если данные доступны, то они передаются задаче, и ей возвращается управление. Если же ящик пуст, то задача переводится в режим ожидания. При посылке сообщения проверяется, нет ли задачи, ожидающей получение данных из этого же почтового ящика. Если такая задача есть, она переводится в режим готовности, и при необходимости выполняется переключение задач, если же данные никем не запрошены, они будут храниться в почтовом ящике до первого запроса.
Очереди сообщений могут использоваться, когда данные поступают нерегулярно, и неизвестно, будет ли задача успевать сразу считывать все поступающие сообщения. Очередь сообщений организована в виде циклического буфера типа FIFO. Длина очереди, а также количество очередей сообщений, которое может использоваться в программе, задаётся в конфигурационных файлах RTOS-проекта. Работа с очередями организована таким же образом, как и с одиночными сообщениями, с тем лишь различием, что можно хранить не одно сообщение, а несколько.
19. Прерывания, общая схема обработки прерываний.
Прерывание — сигнал, сообщающий процессору о наступлении какого-либо события. При этом выполнение текущей последовательности команд приостанавливается и управление передаётся обработчику прерывания, который реагирует на событие и обслуживает его, после чего возвращает управление в прерванный код.
Прерывания – правила, наз. INT, в которых в определенные моменты времени происходит изменение сигнала. (меняется скорость с низ. на выс.)
Вектор прерывания — закреплённый за устройством номер, который идентифицирует соответствующий обработчик прерываний. Векторы прерываний объединяются в таблицу векторов прерываний, содержащую адреса обработчиков прерываний. Местоположение таблицы зависит от типа и режима работы процессора. (УВВ - Устройства ввода-вывода).