Основные понятия задач: пустая задача, многократный запуск, реентерабельность задачи.
Пустая задача – задача, запускаемая самой ОС и выполняемая только тогда, когда других (готовых для выполнения) задач нет.
Многократный запуск – применяется в многозадачных ОС, позволяет запускать несколько копий одной и той же задачи, при этом используется один запущенный код для всех копий.
Реентерабельность (повторная входимость) – возможность временно прервать выполнение, а затем запустить снова, без негативных последствий.
Планировщик заданий. Алгоритм функционирования планировщика.
В ОСРВ целью планирования является обеспечение выполнения каждой готовой задачи к определенному моменту времени.
Предсказуемость – время работы задач. Не должно зависть ни от текущей задачи, ни от количества задач в очереди.
Планировщик заданий (диспетчер) – определяет какая из задач должна выполняться в системе в данный момент времени. Т.е. это программа, которая отвечает за разделение времени, имеющихся процессов между выполненными задачами и за блокировку задач.
Виды планировщика:
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; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!