русс | укр

Мови програмуванняВідео уроки php mysqlПаскальСіАсемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование


Linux Unix Алгоритмічні мови Архітектура мікроконтролерів Введення в розробку розподілених інформаційних систем Дискретна математика Інформаційне обслуговування користувачів Інформація та моделювання в управлінні виробництвом Комп'ютерна графіка Лекції


Шановні українці! Матеріал був перекладений з російської мови. Тому можуть бути незначні помикли...

Пріоритет процесу в Linux

За інших рівних умов процесорний час розподіляється між процеси, запущені порівну, але процес може встановити добавку до пріоритету. Ця Добавка, однак, не підвищує, а знижує пріоритет процесу в сенсі використання процесора. Тільки процеси адміністратора можуть отримувати негативну добавку до пріоритету, тобто реально підвищувати свій пріоритет.r

Це обґрунтовано тим, що в ядрі Linux використовується два класи пріоритетів:

  1. Unreal-time priority.
  2. -Real time priority

Unreal-time priority діляться на два підкласи:

  1. Статичний пріоритет або nice-пріоритет, Значення nice-пріоритету може лежати в діапазоні від -20 до 19, типово використовується значення 0. Значення -20 відповідає найбільш високому приоритету. nice-пріоритет не змінюється планувальником, він успадковується від батьків або його вказує користувач.
  2. Динамічний пріоритет, на підставі якого працює планувальник. Динамічний пріоритет обчислюється виходячи зі значення параметра пісе для даної задачі шляхом обчислення надбавки або штрафу в діапазоні від -5 до 5, залежно від інтерактивності завдання. Для визначення інтерактивності в ядрі Linux передбачений змінюваний показник того, як співвідноситься час, що процес проводить в припинене стані, з часом, що процес проводить у стані готовності до виконання.

-Real time priority лежать в діапазоні від 1 до (MAX_RT_PRIO-1), За замовчуванням діапазон значень пріоритетів реального часу складає від 1 до 99.

Для планування стратегії в режимі не реального часу (SCHED_OTHER) простір пріоритетів реального часу поєднується з простором значень параметра nice, що відповідає діапазону пріоритетів від значення MAX_RT_PRIO до значення (MAX_RT_PRIO+40). За замовчуванням це означає, що діапазон значень параметра nice від -20 до +19 взаємно однозначно відображається в діапазон значень пріоритетів від 100 до 139. І, таким чином, планування виконується за рівнями пріоритетів від 1 до 139.

Змінити пріоритет процесу в Linux можна за допомогою системного виклику nice, а пріоритет іншого процесу може бути змінено системним викликом setpriority.. Системний виклик getpriority дозволяє дізнатися пріоритет процесу.

Переглядів: 10287

Повернутися в зміст:ОС Linux




Онлайн система числення Калькулятор онлайн звичайний Науковий калькулятор онлайн