асу процесів, якщо, принаймні, один з них готовий до виконання;
. виділяти мінімальну частку процесорного часу деякого конкретного процесу, готовому до виконання;
. виділити стільки процесорного часу деякого процесу, щоб він міг виконати свої обчислення до терміну. ??
Для порівняння алгоритмів диспетчеризації використовуються наступні критерії:
. використання (завантаженість) центрального процесора;
. пропускна здатність - кількість процесів, що виконуються в одиницю часу;
. час обороту - інтервал часу від моменту появи процесу у вхідній черзі до моменту його завершення (час очікування у вхідній черзі + час очікування в черзі готових до виконання процесів + час очікування в чергах до обладнання + час виконання в процесорі + час введення / виводу);
. час очікування - сумарний час знаходження процесу в черзі готових до виконання процесів;
. час відгуку - час від моменту потрапляння процесу до вхідної черги до моменту першого звернення до терміналу.
Головні причини зменшення продуктивності системи:
. накладні витрати на переключення процесора (перемикання контекстів завдань, переміщення сторінок віртуальної пам'яті, оновлення даних в кеш-області);
. перемикання на інший процес в той момент, коли поточний процес виконує критичну секцію, а інші процеси активно очікують входу в свою критичну секцію.
Методи підвищення продуктивності системи в мультипроцесорних системах:
. спільне планування, всі потоки однієї програми одночасно вибираються для виконання процесорами і одночасно знімаються з них;
. знаходяться в критичній секції завдання не перериваються, а активно очікують входу в критичну секцію завдання не вибирати доти, поки вхід в секцію не звільниться;
.6 Диспетчеризація завдань з використанням динамічних пріоритетів
При виконанні програм може трапитися ситуація, коли одна або кілька завдань не можуть бути виконані протягом значного часу через високу навантаження в обчислювальній системі. Введення механізму динамічних пріоритетів дозволяє реалізувати швидке виконання коротких завдань і гарантувати виконання будь-яких запитів.
Кожен процес має два атрибути пріоритету, з урахуванням якого розподіляється процесорний час між виконуваними завданнями:
. поточний пріоритет, на основі якого здійснюється планування;
. замовлений відносний пріоритет (nice number).
Більш високому значенню поточного пріоритету може відповідати більш низький фактичний пріоритет планування.
Розглянемо окремий випадок, коли поточний пріоритет процесу варіюється в діапазоні від 0 (найнижчий пріоритет) до 127 (високий пріоритет). Процеси, що виконуються в режимі завдання, мають нижчий пріоритет (0-65), ніж в режимі ядра (66-95, системний діапазон). Пріоритети в діапазоні 96-127 ставляться до процесів з фіксованим пріоритетом.
процесі, очікують недоступний в даний момент ресурс, система привласнює пріоритет сну (sleep) з діапазону системних пріоритетів і пов'язаний з подією, що викликала цей стан. Коли процес пробуджується, йому присвоюється пріоритет, рівний пріоритету сну, який знаходиться в системній області, тому ймовірність вибору такого процесу на виконання велика. Такий підхід дозволяє швидко завершити системний виклик.
2. Розробка лабораторного практикуму з управління файлової системи в операційній системі
...