Добавил:
north memphis Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
doklad (6).docx
Скачиваний:
0
Добавлен:
17.07.2026
Размер:
35.2 Кб
Скачать

МИНОБРНАУКИ РОССИИ

САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ

ЭЛЕКТРОТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

«ЛЭТИ» ИМ. В.И. УЛЬЯНОВА (ЛЕНИНА)

Кафедра информационной безопасности

Реферат

по дисциплине «Системы реального времени»

Тема: Диспетчеризация задач

Студент _________________

Преподаватель _________________ Сидельников В.В.

Санкт-Петербург

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, а также состояния ожидания сигналов или завершения дочерних потоков. Переходы между этими состояниями инициируются действиями диспетчера в ответ на активизацию ресурсов, истечение квантов времени или явные запросы от исполняемых задач.

Соседние файлы в предмете Системы реального времени