Добавил:
СПбГУТ * ИКСС * Программная инженерия Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
АОПИ. Старое / АОПИ. Глава 1. Вопросы и ответы (01_04_19).rtf
Скачиваний:
82
Добавлен:
10.09.2019
Размер:
3.53 Mб
Скачать

15 Вопрос. Свойства задач.

——————————————————————————

Свойства задач:

1. Приоритет — целое число, которое присваивается задаче и характеризует её важность по отношению к другим задачам. Используется для определения того, какая из готовых к выполнению задач должна (начинать) выполняться в данный момент. Самый низкий приоритет — 0. Обычно резервируется за «пустой» задачей («задачей холостого хода»), которая запускается при отсутствии готовых к выполнению задач.

2. Дескриптор (Handle). В дескрипторе прямо или косвенно (через указатели на связанные структуры) содержится информация о состоянии задачи, расположении образа задачи в оперативной памяти и на диске, о приоритете, идентификаторе пользователя, создавшего процесс, о родственных процессах (например, дочерних), о событии осуществления которых ожидает данный процесс и т. д. Дескриптор отдельных задач объединяется в стек (stack), образующий очередь задач. Каждый дескриптор содержит как минимум один указатель на другой дескриптор, соседний с ним в очереди. Такая организация очереди позволяет переупорядочивать, исключать и включать задачи, переводить задачи из одного состояния в другое, т. е. выполнять их диспетчеризацию.

3. Контекст. Содержит информацию о задаче, которая необходима для возобновления её выполнения с прерванного места: 1) Содержимое регистров процессора; 2) Коды ошибок выполняемых процессором системных вызовов. 3) Информацию о всех файлах, открытых в ходе выполнения данной задачи. 4) Информацию о завершенных операциях ввода-вывода и других данных, описывающих состояние вычислительной среды в момент прерывания.

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

Обычно контекст хранится в управляющем блоке TSB [Translation Storage Buffer — буфер хранения перевода].

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

4. Состояния:

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

Готовая задача. Готова к выполнению и ожидает своей очереди.

Блокированная задача (ожидание). Выполнение задачи приостановлено до возникновения определенного события.

a) Освобождение необходимого ресурса (например, получение доступа к файлу).

б) Поступление ожидаемого сообщения (например, поступили результаты сортировки).

в) Завершение интервала ожидания.

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

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

Каждая задача в течение своего жизненного цикла проходит 4 фазы:

1. Создание.

2. Загрузка.

3. Выполнение.

4. Завершение.

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

Под загрузкой понимается загрузка образа задачи.

Систем. прогр. ––––––> ВА (виртуальный адрес) –––MMU–––> ФА (физический адрес) MMU — memory management unit (блок управления памятью или устройство управления памятью).

——————————————————————————