Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Открытая лекция.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
80.38 Кб
Скачать

2. Многопоточность (многопроцессность) и вытеснение задач по приоритетам.

Многопоточность (многопроцессность) подразумевает одновременное (параллельное) выполнение нескольких потоков.

Операционная система должна обеспечивать переключение процессора с выполнения одного потока на выполнение другого потока.

При переключении потоков одного процесса операционной системе достаточно сохранить текущие параметры приостанавливаемого потока и загрузить сохраненные параметры потока, который ставиться на выполнение без изменения адресного пространства.

Если, же необходимо переключиться на другой поток в другом процессе, сначала операционная система переключает адресное пространство, а затем происходит переключение потока.

Требование к вытеснению задач по приоритетам означает, что ОС из всех потоков, готовых к выполнению, ставит на выполнение всегда поток, имеющий более высокий приоритет.

Приоритет потока задается при его создании (вызове).

Готовность потока к выполнению определяется находится ли он в ожидании доступа к каким либо системным ресурсам, ресурсам ввода/вывода, данным формируемым другими процессами и т.д. или нет.

3. Операционная система должна поддерживать механизм синхронизации потоков с предсказуемыми характеристиками

К таким механизмам относятся семафоры, мъютексы (мутексы), сообщения, импульсы, сигналы и, конечно, прерывания.

Семафоры и мутексы представляют из себя системные переменные, которые доступны потокам разных процессов. Они предназначены для синхронизации доступа потоков к общим ресурсам и данных.

Семафоры позволяют разрешать доступ к ресурсам одновременно нескольким потокам, после чего доступ блокируется до освобождения семафора каким либо из потоков. Количество потоков, которым одновременно разрешен доступ (значение счетчика), указывается при открытии потока (функция sem_open()).

Мутекс (mutex) это семафор, который разрешает доступ к ресурсам только одному потоку.

Сообщения (Msg) предназначены для обмена данными между потоками (клиент-сервер). При этом поток-клиент запрашивает сообщение у потока-сервера и блокируется до получения данного сообщения. Импульс является разновидностью сообщения и имеет фиксированную длину.

Сигнал предназначены для уведомления о потока о происшедшем событии. Например, поток сервер может уведомлять поток-клиент о готовности сообщения.

4. Механизм наследования приоритетов

Механизм наследования приоритетов предназначен для исключения ситуации инверсии приоритетов.

Ситуация инверсии приоритетов имеет место, когда поток-клиент А обращается к потоку-серверу С, имеющего более низкий уровень приоритета, чем поток А, за данными и переходит в режим ожидания данных. В это время готов к выполнению поток В , который имеет приоритет меньше, чем поток А, но выше, чем С . При отсутствии механизма наследования приоритетов поток В будет поставлен на выполнение и, следовательно, заблокирует работу потока С , а, следовательно, и А. При наличии механизма наследования приоритетов, при вызове потоком А потока С, последнему будет присвоен, на время выполнения данного запроса, приоритет потока А и поток В его уже не сможет заблокировать.

5. Требования о предсказуемости поведения операционной системы говорит о том, что для ОС реального времени должны быть проведены тестирования в различных режимах и результаты тестирования должны быть доступны полььзователю.