Пріоритет - це числова характеристика встановлений на комп'ютері процесу, яка дозволяє визначити порядок його виконання в черзі процессов.Обеспечивает реалізацію мультипрограмности на однопроцесорних системах.
Від пріоритету процесу в UNIX залежать такі характеристики процесу:
- Можливість конкурувати за процесорний час і розміщуватися в оперативній пам'яті
- Величина кванта процесорного часу
- Місце процесу в черзі процесів до ресурсу процесора
Схема поділу процесорного часу між процесами
Готові до виконання процеси створюють чергу до процесора в порядку зменшення своїх пріоритетів. Процес, відпрацював свій квант часу, але залишився готовим до виконання, ставиться в черзі попереду будь-якого процесу з меншим пріоритетом, але з довільним процесом, який має такий же пріоритет. Якщо деякий процес активізується, то він стає в чергу за процесом з таким же пріоритетом.
В операційній системі UNIX використовуються динамічні пріоритети, засновані на статичних системних пріоритети. Кожен процес при ініціалізації отримує деякий статичний системний пріоритет, який надалі можна змінити за допомогою системного виклику nice. Надалі це значення використовується для розрахунку динамічного пріоритету процесу, який є реальним критерієм планування розподілу обчислювальних ресурсів.
Всі процеси зі значенням динамічного пріоритету не нижче порогового беруть участь в конкуренції за процесорний час. Кожен раз, коли процес відпрацьовує свій квант часу, його динамічний пріоритет зменшується на величину, яка залежить від статичної пріоритету. Якщо значення динамічного пріоритету досягає певного нижнього порогу, процес видаляється з оперативної пам'яті і його образ зберігається у файлі підкачки. Процес, переміщений в цю область зовнішньої пам'яті, зберігає свій динамічний пріоритет, який збільшується з часом. Таким чином, досягнувши порогового значення, процес стає в чергу на завантаження в оперативну пам'ять і активізації.