- •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. Программные циклы, используемые при проектировании срв. Этап моделирования. Совместный аппаратно-программный цикл разработки.
15. Бинарный семафор. Назначение, составляющие блока контроля (scb), машина состояний, пример использования. Особенности использования задания временных параметров на захват занятого семафора.
Семафоры применяются, когда необходимо:
а) управлять доступом к разделяемым ресурсам;
б) сигнализировать наступление события;
в) позволять двум задачам синхронизировать их деятельность.
Семафор – это ключ, которым должна овладеть задача, чтобы продолжить выполнение. Если семафор уже используется, запрашивающая задача приостанавливается, пока семафор не освободится.
Задача, желающая обладать семафором, выполняет операцию WAIT. Если семафор доступен (то есть его значение больше 0), значение уменьшается на единицу, а задача продолжает выполнение. Если значение семафора равно 0, задача, производящая операцию WAIT, помещается в список задач, ожидающих данный семафор. Задача освобождает семафор, производя операцию SIGNAL. Если нет задач, его ожидающих, значение семафора увеличивается на единицу. Если такие задачи есть, его значение не изменяется, а запускается одна из ожидающих задач.
Таблица SCB_SEMAPHORE_COLTROL_BLOCK содержит след. поля: SemID — идентификатор семафора(число); COUNTER — счетчик (0,1,..., N); TYPE — тип семафора; POINTER TO TASK WAITING LIST - указатель на список задач, ожидающих освобождения данного семафора (задачи из этого списка выбираются с пом. Планировщика (FIFO или приоритетное планирование).
16. Семафор-счетчик. Назначение, составляющие блока контроля (scb), машина состояний, пример использования. Особенности использования задания временных параметров на захват занятого семафора.
Семафоры применяются, когда необходимо:
а) управлять доступом к разделяемым ресурсам;
б) сигнализировать наступление события;
в) позволять двум задачам синхронизировать их деятельность.
Семафор – это ключ, которым должна овладеть задача, чтобы продолжить выполнение. Если семафор уже используется, запрашивающая задача приостанавливается, пока семафор не освободится.
Семафор-счетчик — это целочисленная переменная, имеющая несколько состояний. (0,1,2,3,..., N) 0 — семафор захвачен, остальные состояния — свободен. Число, отличное от нуля указывает, сколько задач захватило семафор. Если задач < N, семафор свободен.
Таблица SCB_SEMAPHORE_COLTROL_BLOCK содержит след. поля: SemID — идентификатор семафора(число); COUNTER — счетчик (0,1,..., N); TYPE — тип семафора; POINTER TO TASK WAITING LIST - указатель на список задач, ожидающих освобождения данного семафора (задачи из этого списка выбираются с пом. Планировщика (FIFO или приоритетное планирование).
Счетные семафоры применяются, когда ресурс может использоваться более чем одной задачей одновременно. Например, счетный семафор может быть использован в управлении пулом буферов. Предположим, что исходно пул содержит 10 буферов. Задача может получить буфер, запросив его у менеджера, вызывая BufReq(). Если буфер больше не нужен, задача может вернуть его обратно, вызывая BufRel().