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

16 Вопрос. Механизмы диспетчеризации (планирования) задач.

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

Диспетчеризация.

Диспетчер задач выполняет три функции:

1. Определение момента времени для смены выполняемой задачи (программный уровень).

2. Выбор задачи для выполнения из очереди готовых задач (программный и аппаратный уровни).

3. Переключение контекста задачи (аппаратный уровень).

Дисциплины диспетчеризации.

FIFO ("first in, first out" — «первым пришёл — первым ушёл»). Первой выполняется задача, которая первой вошла в очередь и при этом она выполняется до тех пор, пока не завершится или не будет заблокирована (в ожидании определенного ресурса или события). После этого, управление передается следующей в очереди задачи.

Round Robin (циклическая или круговая многозадачность).

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

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

Адаптивная (равнодоступная) многозадачность. 1) Приоритет задачи, которая слишком долго не запускается на выполнение, повышается на единицу. 2) Приоритет задачи, которая слишком долго выполняется, уменьшается на единицу.

POSIX — стандарт, поддерживающий FIFO и Round Robin.