Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1508.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.03 Mб
Скачать

3.6. Смешанные алгоритмы планирования

Во многих ОС алгоритмы планирования построены с использованием как концепции квантования, так и приоритетов. Например, в основе планирования лежит квантование, но величина кванта и/или порядок выбора потока из очереди готовых определяется приоритетами потоков.

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

Подобным образом реализовано планирование в системах Windows NT/2000, в которых квантование сочетается с динамическими абсолютными приоритетами. На выполнение выбирается готовый поток с наивысшим приоритетом и ему выделяется квант времени. Если во время выполнения в очереди готовых потоков появляется поток с более высоким приоритетом, то он вытесняет выполняемый поток. Вытесняющий поток возвращается в очередь готовых, причем он становится впереди всех остальных потоков, имеющих такой же приоритет.

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

4. Планирование вычислительных процессов

В СИСТЕМАХ РЕАЛЬНОГО ВРЕМЕНИ

4.1. Принципы планирования в системах реального времени

Вычисления в реальном времени – тип вычислений, при котором корректность системы зависит не только от логического результата вычислений, но и времени получения этого результата.

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

Выделим следующие группы алгоритмов планирования вычислительных процессов в системах реального времени /7,8,12,13/.

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

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

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

Динамическое планирование наилучшего результата. При этом анализ осуществимости планирования не выполняется; система пытается удовлетворить все предельные сроки и снимает те выполняющиеся процессы, предельные сроки которых нарушены.

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

Статическое вытесняющее планирование на основе приоритетов использует тот же вытесняющий механизм планирования с приоритетами, что и большинст­во обычных многозадачных ОС. В таких системах для опреде­ления приоритетов могут использоваться самые различные факторы. Например, в системе с разделением времени приоритет процесса изменяется в зависимости от того, ориентирован ли этот процесс на вычисления или на операции ввода-вывода. В системах реального времени назначение приоритетов связано с вре­менными ограничениями каждого из заданий. Примером такого подхода может служить частотно-монотонное планирование, которое назначает заданиям статические приоритеты на основе информации об их периоде.

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

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]