- •Содержание
- •Основная часть Диспетчеризация задач, процессов и потоков в системах реального времени
- •События как инициаторы переключения задач
- •Модель состояний задачи и динамика их изменения
- •Организация очередей готовых и блокированных задач
- •Дисциплины диспетчеризации: статические и динамические алгоритмы
- •Вытесняющая диспетчеризация и приоритетное управление
- •Практические аспекты реализации блокировок
- •Взаимосвязь механизмов диспетчеризации и обеспечения информационной безопасности систем реального времени
- •Заключение
- •Список источников
МИНОБРНАУКИ РОССИИ
САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ
ЭЛЕКТРОТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
«ЛЭТИ» ИМ. В.И. УЛЬЯНОВА (ЛЕНИНА)
Кафедра информационной безопасности
Реферат
по дисциплине «Системы реального времени»
Тема: Диспетчеризация задач
Студент _________________
Преподаватель _________________ Сидельников В.В.
Санкт-Петербург
2026
Содержание
Y
СОДЕРЖАНИЕ 3
ОСНОВНАЯ ЧАСТЬ 4
Диспетчеризация задач, процессов и потоков в системах реального времени 4
События как инициаторы переключения задач 4
Модель состояний задачи и динамика их изменения 5
Организация очередей готовых и блокированных задач 6
Дисциплины диспетчеризации: статические и динамические алгоритмы 7
Вытесняющая диспетчеризация и приоритетное управление 8
Практические аспекты реализации блокировок 9
Взаимосвязь механизмов диспетчеризации и обеспечения информационной безопасности систем реального времени 10
Заключение 13
СПИСОК ИСТОЧНИКОВ 15
Основная часть Диспетчеризация задач, процессов и потоков в системах реального времени
Диспетчеризация представляет собой одну из наиболее критических функций ядра операционной системы, обеспечивающую эффективное распределение процессорного времени между конкурирующими вычислительными сущностями, такими как процессы и потоки. В контексте современных операционных систем, в частности систем реального времени, под диспетчеризацией понимается не просто выбор следующей задачи для выполнения, а сложный механизм управления состояниями потоков на основе приоритетов и системных событий. Основная цель данного процесса заключается в минимизации задержек и обеспечении детерминированности поведения системы, что достигается через строгое соблюдение правил вытеснения и управления очередями.
События как инициаторы переключения задач
Процесс переключения между задачами не является произвольным; он всегда инициируется конкретными событиями, которые вызывают прерывания в работе текущего потока. Данные события классифицируются на две основные группы: аппаратные прерывания (int) и программные прерывания, часто называемые исключениями или системными ловушками (traps). Аппаратные прерывания возникают по инициативе внешних устройств, таких как таймеры, аналого-цифровые преобразователи (АЦП) или устройства ввода-вывода, подающие сигналы о готовности данных или завершении операции. Программные прерывания, в свою очередь, инициируются исполняемым кодом задачи при обращении к функциям API или системным вызовам. К ним относятся операции создания или завершения задачи, приостановка выполнения, а также вызовы механизмов синхронизации, таких как семафоры и мьютексы. Кроме того, к категории ловушек относятся аппаратные сбои, такие как деление на ноль или ошибки доступа к памяти, требующие немедленного вмешательства диспетчера. При возникновении любого из указанных событий управление передается диспетчеру, который анализирует причину прерывания и принимает решение о необходимости смены исполняемого контекста.
Модель состояний задачи и динамика их изменения
В процессе своего жизненного цикла каждая задача проходит через ряд состояний, определяющих ее готовность к исполнению и взаимодействие с ресурсами системы. Базовая модель включает три основных состояния: выполнение (Running), готовность (Ready) и блокировка (Blocked). Состояние выполнения характеризует поток, который в данный момент активно использует вычислительные ресурсы процессора. Переход в состояние готовности происходит, когда задача способна выполняться, но процессор занят более приоритетным потоком; в этом случае задача помещается в соответствующую очередь готовых задач. Состояние блокировки возникает, когда задача ожидает наступления определенного внешнего события или освобождения необходимого ресурса, такого как семафор, мьютекс или сообщение от другого процесса.
В развитых системах, таких как QNX, модель состояний значительно расширена для обеспечения детальной диагностики и управления. Например, состояние SEND или RECEIVE указывает на ожидание передачи или приема сообщения, MUTEX – на ожидание захвата мьютекса, а NANOSLEEP – на добровольную приостановку потока на заданный интервал времени. Особое место занимают состояния, связанные с сетевым взаимодействием, такие как NET_REPLY и NET_SEND, а также состояния ожидания сигналов или завершения дочерних потоков. Переходы между этими состояниями инициируются действиями диспетчера в ответ на активизацию ресурсов, истечение квантов времени или явные запросы от исполняемых задач.
