Пріоритет процесів в UNIX

Матеріал з Вікіпедії — вільної енциклопедії.
Jump to navigation Jump to search

Пріоритет — це числова характеристика виконуваного на комп'ютері процесу, яка дозволяє визначити порядок його виконання в черзі процесів. Забезпечує реалізацію мультипрограмності на однопроцесорних системах.

Від пріоритету процесу в UNIX залежать такі характеристики процесу:

  • Змога конкурувати за процесорний час та розміщуватись в оперативній пам'яті
  • Величина кванту процесорного часу
  • Місце процесу в черзі процесів до ресурсу процесора

Схема розділення процесорного часу між процесами[ред.ред. код]

Готові до виконання процеси створюють чергу до процесора в порядку зменшення своїх пріоритетів. Процес, що відпрацював свій квант часу, але лишився готовим до виконання, ставиться в черзі поперед будь-якого процесу з меншим пріоритетом, але за довільним процесом, що має такий самий пріоритет. Якщо деякий процес активізується, то він стає в чергу за процесом з таким самим пріоритетом.

В операційній системі UNIX використовуються динамічні пріоритети, що базуються на статичних системних пріоритетах. Кожен процес при ініціалізації отримує деякий статичний системний пріоритет, котрий в подальшому можна змінити за допомогою системного виклику nice, доступ до якого зокрема може бути надано однойменною командою. Надалі це значення використовується для обрахування динамічного пріоритету процесу, який є реальним критерієм планування розподілу обчислювальних ресурсів.

Усі процеси із значенням динамічного пріоритету не нижче порогового беруть участь в конкуренції за процесорний час. Щоразу, коли процес відпрацьовує свій квант часу, його динамічний пріоритет зменшується на величину, яка залежить від статичного пріоритету. Якщо значення динамічного пріоритету досягає певного нижнього порогу, процес видаляється з оперативної пам'яті і його образ зберігається у файлі підкачки. Процес, переміщений в цю область зовнішньої пам'яті, зберігає свій динамічний пріоритет, котрий збільшується із часом. Таким чином, досягнувши порогового значення, процес стає в чергу на завантаження до оперативної пам'яті та активізації.