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



 

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

 

Многократный запуск – применяется в многозадачных ОС, позволяет запускать несколько копий одной и той же задачи, при этом используется один запущенный код для всех копий.

 

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

 

 

Планировщик заданий. Алгоритм функционирования планировщика.

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

Предсказуемость – время работы задач. Не должно зависть ни от текущей задачи, ни от количества задач в очереди.

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

Виды планировщика:

1) Глобальный (общий) – распределение задачи между несколькими вычислительными узлами.

2) Местный – распределение задачи на одном вычислительном узле.

Функции планировщика:

1) Последовательность выполнения задач в каждом цикле функционирования системы;

2) Распределение ресурсов между задачами;

3) Распределение времени между задачами;

4) Минимальная измеряемая единица времени – тик. Зависит от частоты выполнения задач.

 

Алгоритм функционирования планировщика:

Из всех задач строится таблица запуска. Классифицируются задачи по их типу, т.о. в списке устанавливаются параметры запуска.

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

1) Стартовая метка;

2) Критический срок исполнения;

3) Период запуска.

Затем происходит анализ таблиц. На основании этих списков строятся наборы задач на каждом цикле исполнения.

Контекст задачи – набор данных, задающих состояние процессора при выполнении задачи.

Переключение задач – процесс перехода процессора с одной задачи на другую.

 Действия планировщика при переключении задач.

1) Корректно останавливает работающую задачу, для этого:

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

Сохраняет в памяти состояние регистров текущей задачи;

2) Находит, подготавливает и загружает затребованную задачу;

3) Запускает новую задачу, для этого:

Восстанавливает из памяти состояния регистров новой задачи;

Загружает в процессор инструкции новой задачи.

 

Алгоритмы планирования задач: динамические и статические.

 

Статические – подразумевают выполнение примерного плана построения задач.

+: предсказуемость.

-:  1) система может пойти не верно;

2) изменение очередности задачи не допускается.

 

Динамические – подразумевают изменение последовательности задач за время функционирования системы.

+: 1) возможность дополнения списка задач в процессе выполнения системы;

2) оптимальное распределение свободных временных участков.

-: 1) требует выделение новых ресурсов;

2) сложность реализации подобных алгоритмов;

3) предсказуемость системы зависит от каждых тактов.

 

16. Алгоритмы планирования задач: «Первым пришел – первым обслужен». (FIFO)

Выполняется до тех пор, пока более важная задача не придет. Данная задача выполняется до тех пор, пока она не заканчивается или не вытесняются процессы с более высоким приоритетом.

 

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

Все процессы в состоянии готовности контролируются одним связанным списком.

 

Алгоритмы планирования по времени выполнения задач.

Кратчайшая задача-первая.

Т.е. предполагается, что временные отрезки работы известны заранее.

Если в очереди есть несколько одинаково важных задач, планировщик выбирает первой самую короткую. Пусть есть 4 задачи: А, В, С, Д.(8,4,4,4-время их выполнения). Если мы их запустим в порядке А, В, С, Д - то среднее время = 14. А, если их запустим в порядке В, С, Д, А - то ср.время = 11


Дата добавления: 2018-08-06; просмотров: 494; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!