Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
_МУ_АСУиП.doc
Скачиваний:
2
Добавлен:
01.03.2025
Размер:
3 Мб
Скачать
☆

Основные свойства задач

Вся важная с точки зрения ОСРВ информация о задаче хранится в унифицированной структуре данных, т.е. в управляющем блоке. В данном блоке хранятся такие параметры, как имя и номер задачи, верхняя и нижняя границы стека, ссылка на очередь сообщений, статус (состояние) задачи, приоритет и т.п.

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

Различают СРВ с динамической и статической приоритетностью. В первом случае приоритет задач может меняться в процессе исполнения, в то время как во втором – приоритет задач жестко задается на этапе разработки или во время начального конфигурирования системы.

  1. Контекст задачи – набор данных, содержащих всю необходимую информацию для возобновления выполнения программы с точки прерывания. Обычно контекст хранится в управляющем блоке (TSB) и включает в себя такие данные: счетчик команд, указатель стека, некоторые регистры, характеризующие контекст программ

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

  1. Статус (состояние) задачи – с точки зрения ОСРВ задача может находиться в нескольких состояниях. Число и название этих состояний различается в зависимости от использования конкретной ОСРВ. Тем не менее, практически в любой ОСРВ загруженная на выполнение задача может находиться в трех состояниях:

а) активная задача (исполнение), т.е. выполняемая системой задача в текущей момент времени;

б) готовая задача (готов) – задача, готовая к выполнению и ожидающая у планировщика своей очереди;

в) блокированная задача (ожидание) – задача, выполнение которой приостановлено до наступления определенных событий, например, освобождение необходимого задаче ресурса; поступление ожидаемого сообщения; поступление ожидаемого сообщения; завершение интервала ожидания и т.п.

  1. Пустая задача – задача, запускаемая самой ОСРВ, в частности, в момент инициализации и выполняемая только тогда, когда в системе нет других готовых для выполнения задач. Пустая задача запускается с самым низким приоритетом и представляет собой, по сути, бесконечный цикл «ничего не делать». Наличие пустой задачи предоставляет ОСРВ удобный механизм обработки ситуации, когда нет ни одной готовой к исполнению задачи.

  2. Многократный запуск задач – многозадачные ОСРВ позволяют запускать несколько копий одной и той же задачи. При этом для каждой такой копии создается свой управляющий блок и выделяется своя область памяти. В цепях экономии памяти может быть предусмотрено совместное использование одного и того же исполняемого кода для всех запущенных копий.

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

Реентерабельность (повторная входимость) означает возможность без негативных последствий временно прервать выполнение какой-либо подпрограммы, а затем вызвать ее снова.