24513

Алгоритмы планирования, основанные на квантовании, приоритетах, смешанные алгоритмы

Доклад

Информатика, кибернетика и программирование

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

Русский

2013-08-09

92.27 KB

43 чел.

Вопрос 18. Алгоритмы планирования, основанные на квантовании, приоритетах, смешанные алгоритмы.

§4.2.5.Алгоритмы планирования, основанные на квантовании.

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

- поток завершился и покинул систему;

- произошла ошибка;

- поток перешел в состояние ожидания;

- исчерпан квант процессорного времени, отведенный данному потоку.

Поток, который исчерпал свой квант, переводится в состояние «готовность» и ожидает, когда ему будет предоставлен новый квант процессорного времени, а на выполнение в соответствии с определенным правилом выбирается новый поток из очереди готовых. Таким образом, ни один поток не занимает процессор надолго, поэтому квантование широко используется в системах разделения времени. Граф состояний потока для алгоритма диспетчеризации, основанного на квантовании, изображен на рис. 4.5.

Рис. 4.5. Граф состояний потока в системах с квантованием

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

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

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

Алгоритмы планирования, основанные на приоритетах.

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

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

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

Например, в операционной системе Windows NT определено 32 уровня приоритетов и два класса потоков – потоки реального времени и потоки с переменными приоритетами. Диапазон от 1 до 15 отведен для потоков с переменными приоритетами, а от 16 до 31 – для потоков реального времени (приоритет 0 зарезервирован для системных целей).

Существует две разновидности приоритетного обслуживания:

- обслуживание с относительными приоритетами;

- обслуживание с абсолютными приоритетами.

В системах с относительными и абсолютными приоритетами выбор потока на выполнение из очереди готовых осуществляется одинаково: выбирается поток, имеющий наивысший приоритет. По-разному определяется момент смены активного потока.

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

В системах с абсолютными приоритетами, в отличие от предыдущего случая, выполнение активного потока принудительно прерывается операционной системой, если в очереди готовых потоков появился поток, приоритет которого выше приоритета активного потока. При этом прерванный поток переходит в состояние «готовность».

Графы состояний потока для алгоритмов с относительными и абсолютными приоритетами показаны на рис. 4.6.

 а)

б)

Рис. 4.6. Графы состояний потока в системах

с относительными (а) и абсолютными (б) приоритетами

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

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

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

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

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


 

А также другие работы, которые могут Вас заинтересовать

22901. Деякі теореми про перестановки 44.5 KB
  Всі перестановки елементів a1a2an1an можна скласти таким чином. Будемо послідовно брати усі перестановки елементів a1a2an1 і дописувати до них елемент an на всі можливі місця. Транспозиція змінює парність перестановки.
22902. Поняття матриці 35 KB
  Числа αij називаються елементами матриці. Положення кожного елемента в матриці визначається номерами рядка і стовпчика в яких знаходиться цей елемент. Наприклад елемент знаходиться в му рядку і стовпчику матриці А.
22903. Поняття визначника n- го порядку 35.5 KB
  В кожному добутку по одному і лише по одному елементу з кожного рядка і кожного стовпчика визначника. Співмножники в кожному добутку можна упорядкувати за першим індексом. В першому добутку при упорядкуванні за першим індексом другі індекси утворюють перестановку 1 2. В другому добутку при упорядкування за першим індексом другі індекси утворюють перестановку 21.
22904. Аналітичний запис визначника 18.5 KB
  Розглянемо визначник n го порядку Кожен добуток з яких складається визначник можна упорядкувати за першим індексом тобто записати у вигляді a1α1 a2α2 anαn де α1 α2. Тоді знак з яким добуток a1α1 a2α2 anαn входить у визначник Δ визначається парністю перестановки α1 α2.
22905. Друге означення визначника 47.5 KB
  Таким чином на відміну від першого означення визначника знак при даному добутку визначається парністю перестановки перших індексів при упорядкуванні добутку за другими індексами. Припустимо що при цьому було зроблено транспозицій елементів перестановки. Від перестановки α1 α2. αn можна перейти за допомогою транспозицій до перестановки 1 2.
22906. Лема про знак 126 KB
  Тоді добуток входить до визначника Δ зі знаком Доведення. Зрозуміло що даний добуток входить до визначника . За означенням визначника даний добуток входить до визначника зі знаком тобто зі знаком . Аналітичний запис визначника.
22907. Визначник трикутного вигляду 34 KB
  В ньому визначаються дві діагоналі. Визначником трикутного вигляду відносно головної діагоналі називається визначник всі елементи якого що стоять вище або нижче головної діагоналі дорівнюють 0. Таким чином можна зробити висновок: визначник трикутного вигляду відносно головної діагоналі дорівнює добутку елементів головної діагоналі Δ= a11a22ann Означення. Визначником трикутного вигляду відносно побічної діагоналі називається визначник всі елементи якого що стоять вище або нижче побічної діагоналі дорівнюють 0.
22908. Транспонування визначника 33 KB
  В перший стовпчик визначника Δ1 запишемо елементи першого рядка визначника Δ не змінюючи їх порядок. Далі в другий стовпчик визначника Δ1 запишемо елементи другого рядка визначника Δ не змінюючи їх порядок і так далі. В nй стовпчик визначника Δ1 запишемо елементи nго рядка визначника Δ.
22909. Властивості визначників 96.5 KB
  Будемо формулювати і доводити властивості лише для рядків визначника але за попереднім зауваженням вони мають місце і для стовпчиків визначника. Нульовим рядком називається рядок визначника всі елементи якого дорівнюють 0. Нехай й рядок визначника Δ нульовий. Якщо в визначнику переставляються місцями два рядки то змінюється лише знак визначника.