- •Общесистемное программное обеспечение компьютерных систем управления реального времени
- •Требования к ос рв (минимальные):
- •1. Понятие потока (нити)
- •2. Многопоточность (многопроцессность) и вытеснение задач по приоритетам.
- •3. Операционная система должна поддерживать механизм синхронизации потоков с предсказуемыми характеристиками
- •4. Механизм наследования приоритетов
- •Основные характеристики ос рв
- •Размер системы и возможность исполнения, системы из пзу (rom)
- •Механизмы реального времени.
2. Многопоточность (многопроцессность) и вытеснение задач по приоритетам.
Многопоточность (многопроцессность) подразумевает одновременное (параллельное) выполнение нескольких потоков.
Операционная система должна обеспечивать переключение процессора с выполнения одного потока на выполнение другого потока.
При переключении потоков одного процесса операционной системе достаточно сохранить текущие параметры приостанавливаемого потока и загрузить сохраненные параметры потока, который ставиться на выполнение без изменения адресного пространства.
Если, же необходимо переключиться на другой поток в другом процессе, сначала операционная система переключает адресное пространство, а затем происходит переключение потока.
Требование к вытеснению задач по приоритетам означает, что ОС из всех потоков, готовых к выполнению, ставит на выполнение всегда поток, имеющий более высокий приоритет.
Приоритет потока задается при его создании (вызове).
Готовность потока к выполнению определяется находится ли он в ожидании доступа к каким либо системным ресурсам, ресурсам ввода/вывода, данным формируемым другими процессами и т.д. или нет.
3. Операционная система должна поддерживать механизм синхронизации потоков с предсказуемыми характеристиками
К таким механизмам относятся семафоры, мъютексы (мутексы), сообщения, импульсы, сигналы и, конечно, прерывания.
Семафоры и мутексы представляют из себя системные переменные, которые доступны потокам разных процессов. Они предназначены для синхронизации доступа потоков к общим ресурсам и данных.
Семафоры позволяют разрешать доступ к ресурсам одновременно нескольким потокам, после чего доступ блокируется до освобождения семафора каким либо из потоков. Количество потоков, которым одновременно разрешен доступ (значение счетчика), указывается при открытии потока (функция sem_open()).
Мутекс (mutex) это семафор, который разрешает доступ к ресурсам только одному потоку.
Сообщения (Msg) предназначены для обмена данными между потоками (клиент-сервер). При этом поток-клиент запрашивает сообщение у потока-сервера и блокируется до получения данного сообщения. Импульс является разновидностью сообщения и имеет фиксированную длину.
Сигнал предназначены для уведомления о потока о происшедшем событии. Например, поток сервер может уведомлять поток-клиент о готовности сообщения.
4. Механизм наследования приоритетов
Механизм наследования приоритетов предназначен для исключения ситуации инверсии приоритетов.
Ситуация инверсии приоритетов имеет место, когда поток-клиент А обращается к потоку-серверу С, имеющего более низкий уровень приоритета, чем поток А, за данными и переходит в режим ожидания данных. В это время готов к выполнению поток В , который имеет приоритет меньше, чем поток А, но выше, чем С . При отсутствии механизма наследования приоритетов поток В будет поставлен на выполнение и, следовательно, заблокирует работу потока С , а, следовательно, и А. При наличии механизма наследования приоритетов, при вызове потоком А потока С, последнему будет присвоен, на время выполнения данного запроса, приоритет потока А и поток В его уже не сможет заблокировать.
5. Требования о предсказуемости поведения операционной системы говорит о том, что для ОС реального времени должны быть проведены тестирования в различных режимах и результаты тестирования должны быть доступны полььзователю.
