INFONKO.RU

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

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

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

Существует две разновидности приоритетных алгоритмов: алгоритмы, использующие относительные приоритеты, и алгоритмы, использующие абсолютные приоритеты.

В обоих случаях выбор процесса на выполнение из очереди готовых осуществляется одинаково: выбирается процесс, имеющий наивысший приоритет. Процессы с одинаковыми приоритетами планируются в порядке FCFS. По-разному решается проблема определения момента смены активного процесса. В системах с относительными приоритетами активный процесс выполняется до тех пор, пока он сам не покинет процессор, перейдя в состояние ОЖИДАНИЕ (или же произойдет ошибка, или процесс завершится). В системах с абсолютными приоритетами выполнение активного процесса прерывается еще при одном условии: если в очереди готовых процессов появился процесс, приоритет которого выше приоритета активного процесса. В этом случае прерванный процесс переходит в состояние готовности.

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

Принципы назначения приоритетов могут опираться как на внутренние критерии вычислительной системы, так и на внешние по отношению к ней. Внутренние используют различные количественные и качественные характеристики процесса для вычисления его приоритета. Это могут быть, например, определенные ограничения по времени использования процессора, требования к размеру памяти, число открытых файлов и используемых устройств ввода-вывода, отношение средних продолжительностей I/O burst к CPU burst и т. д. Внешние критерии исходят из таких параметров, как важность процесса для достижения, приоритет пользователя и других факторов.

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



Пример 7.Невытесняющее приоритетное планирование. Исходные данные для примера приведены в таблице 9.

Процесс p0 p1 р2 р3
Продолжительность очередного CPU burst
Время появления в очереди
Приоритет

Таблица 9. Исходные данные для примера 7.

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

Первым для выполнения в момент времени t = 0 выбирается процесс p3, как обладающий наивысшим приоритетом. После его завершения в момент времени t = 5 в очереди процессов готовых к исполнению окажутся два процесса p0 и p1. Больший приоритет из них у процесса p1 он и начнет выполняться (см. таблицу 10). Затем в момент времени t = 8 для исполнения будет избран процесс p2 и лишь потом процесс p0.

Т
Р0 Г Г Г Г Г Г Г Г Г Г Г Г Г Г И И И И И И
Р1 Г Г Г И И
Р2 Г И И И И И И И
Р3 И И И И И

Таблица 10. Пример работы алгоритма в режиме невытесняющего планирования

Пример 8.Вытесняющее приоритетное планирование для исходных данных примера 7.

Первым, как и в предыдущем случае, исполняться начнет процесс p3, а по его окончании процесс p1. Однако в момент времени t = 6 он будет вытеснен процессом p2 и продолжит свое выполнение только в момент времени t = 13. Последним, как и раньше, будет исполнен процесс p0.

Т
Р0 Г Г Г Г Г Г Г Г Г Г Г Г Г Г И И И И И И
Р1 Г Г Г И Г Г Г Г Г Г Г И
Р2 И И И И И И И
Р3 И И И И И

Таблица 11. Пример работы алгоритма в режиме невытесняющего планирования.

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

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

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

Решение этой проблемы может быть достигнуто с помощью увеличения со временем значения приоритета процесса, находящегося в состоянии готовность. Пусть изначально процессам присваиваются приоритеты от 128 до 255. Каждый раз, по истечении определенного промежутка времени, значения приоритетов готовых процессов уменьшаются на 1. Процессу, побывавшему в состоянии исполнение, восстанавливается первоначальное значение приоритета. Даже такая грубая схема гарантирует, что любому процессу в разумные сроки будет предоставлено право на исполнение.

5. Механизмы и средства синхронизации процессов.

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



infonko.ru/ekonomiko-geograficheskaya-harakteristika-vostochno-sibirskogo-er.html infonko.ru/ekonomiko-geograficheskaya-harakteristika-zapadno-sibirskogo-ekonomicheskogo-rajona.html infonko.ru/ekonomiko-geograficheskoe-polozhenie-egp.html infonko.ru/ekonomiko-ideologicheskaya-struktura-nemeckogo-obshestva-1928-1933-gg.html infonko.ru/ekonomiko-matematicheskaya-model-transportnoj-zadachi.html infonko.ru/ekonomiko-matematicheskie-metodi-emm.html infonko.ru/ekonomiko-sociologicheskie-idei.html infonko.ru/ekonomiks-nauka-o-racionalnom-ispolzovanii-ogranichennih-resursov.html infonko.ru/ekonomiya-elektricheskoj-energii.html infonko.ru/ekonomiya-elektroenergii-ot-pravilnogo-vibora-istochnika-sveta.html infonko.ru/ekonomiya-obuslovlennaya-rostom-masshtaba-proizvodstva-effekt-ot-masshtaba.html infonko.ru/ekonomiya-zatrat-pri-izgotovlenii-konstrukcij.html infonko.ru/ekonomka-ntelektualno-vlasnost.html infonko.ru/ekonomka-zalznichnogo-transportu.html infonko.ru/ekonomko-logchn-metodi-prijomi.html infonko.ru/ekonomno-i-tochno-otbirat-poleznoe-i-nuzhnoe-iz-potoka-vosprinimaemoj-informacii.html infonko.ru/e-kontrolya-zaryadnogo-toka-akkumulyatornoj-batarei.html infonko.ru/ekopsihologiya-razvitiya-individualnosti.html infonko.ru/ekosistema-otkritih-istochnikov.html infonko.ru/ekosistemi-i-prisushie-im-zakonomernosti.html