- •Конспект лекцій
- •Лекція 1. Загальна характеристика спеціалізованих комп’ютерних систем (скс)
- •Проблеми розробки математичного та програмного забезпечення скс
- •Особливості архітектури скс
- •Основні функції ос
- •Контрольні запитання
- •Випадкові процеси з дискретним і безперервним часом. Марківський ланцюг
- •Контрольні запитання
- •Рекомендована література
- •3, Лекція 3 .Математична модель для оцінки часу виконання програми
- •Контрольні запитання
- •4.Лекція 4 Потоки подій
- •Потік подій. Найпростіший потік і його властивості.
- •Пуассоновські потоки подій і безперервні Марковські ланцюги.
- •Граничні ймовірності станів.
- •Контрольні запитання
- •Граф процесу загибелі та розмноження у загальному вигляді. Граничні ймовірності станів моделі.
- •Контрольні запитання
- •Рекомендована література
- •6Лекція 6.. Теорія масового обслуговування. Завдання теорії
- •Умовні позначення видів моделей масового обслуговування.
- •Контрольні запитання
- •Багатоканальна смо з відмовами.
- •Контрольні запитання
- •Багатоканальна смо з очікуванням
- •Контрольні запитання
- •Рекомендована література
- •9. Лекція 9. Багатоканальна смо з очікуванням та нетерплячими заявками
- •Змістовна постановка задачі
- •Вирішення задачі
- •Контрольні запитання
- •Основні характеристики смо.
- •Багатоканальні замкнуті смо
- •Контрольні запитання
- •Рекомендована література
- •11 Лекція11.
- •Смо з відмовами.
- •Одноканальна смо з очікуванням.
- •Задача про простій верстатів.
- •Контрольні запитання
- •2. Характеристики вихідних потоків інформації
- •3. Диспетчерські програми операційної системи
- •Використання динамічних пріоритетів
- •Контрольні запитання
- •Висновки
- •14. Лекція 14. Вкладені ланцюги Маркова
- •Метод вкладених ланцюгів Маркова
- •Задача простою верстатів
- •Контрольні запитання
- •Контрольні запитання
- •2. Приклад вирішення задачі методом динаміки середніх
- •Контрольні запитання
- •Рекомендована література
- •17. Лекція 17.
- •Рекомендована література.
Використання динамічних пріоритетів
При роботі у режимі реального часу, що виконують задачі контролю та управління, може виникнути така ситуація, коли одна або декілька задач не можуть бути виконані на протязі досить довгого проміжку часу. Втрати, пов’язані з невиконанням таких задач, можуть бути досить значними. При цьому доцільно тимчасово змінити пріоритети «аварійних» задач. Після їх виконання відповідні пріоритети можна поновити.
Тому, як правило, у ОС реального часу є засоби зміни пріоритету програм.
Одним із таких засобів є слідуючий:
при обчисленні приймають участь два поля дескриптора процесу. Перше з них визначається користувачем явно або формується по замовчанню системою програмування. Друге поле формується планувальником і зветься системною складовою або поточним пріоритетом.
Тобто процес має два атрибути пріоритету: поточний, за яким виконується планування, та заказний відносний пріоритет. Наприклад, більш високому значенню поточного пріоритету може відповідати більш низький фактичний пріоритет планувальника.
Розподіл між пріоритетами режиму ядра та задачі також залежить від версії ОС.
Пріоритети процесів, що виконуються у режимі задачі, мають менший пріоритет, ніж у режимі ядра. Наприклад пріоритети режиму задачі змінюються у діапазоні 0-65, для режиму ядра 66-95, а процеси, пріоритети яких лежать у діапазоні 96-127 – це процеси з фіксованим пріоритетом. Вони не змінюються ОС та визначені для підтримки реального часу. Як правило, процесу, що чекає недоступного у даний час ресурсу системи, визначає значення пріоритету сну, який вибирається ядром із діапазону системних пріоритетів, пов’язаних із цим випадком, що призвів до такого стану. Коли процес пробуджується, ядро встановлює значення поточного пріоритету, що дорівнює пріоритету сна. Оскільки пріоритет такого процесу знаходиться у системному діапазоні та вище ніж пріоритет задачі, відповідність наданим процесу обчислювальних ресурсів значно збільшується.
Скажімо, такий підхід дозволяє швидко завершити системний виклик, виконання якого можуть бокувати деякі системні ресурси.
Після завершення системного виклику, перед поверненням у режим задачі, ядро поновить пріоритет режиму задачі, що зберігся перед виконанням системного виклику. Це може призвести до зниження пріоритету, що у свою чергу може викликати переключення контексту.
Наприклад, операційна система OS/2самостійно змінює пріоритет виконання програм незалежно від рівня, який був встановлений прикладною задачею. Цей механізм зветься механізмом підвищення пріоритету.
ОС змінює пріоритети задач у трьох випадках:
збільшується пріоритет активної задачі. Пріоритет автоматично збільшується, коли вона стає активною. Це понижує час реакції активного додатку на дії користувача у порівнянні із фоновими програмами.
збільшується пріоритет вводу-виводу. По завершенню операцій вводу-виводу процес отримує найбільший рівень пріоритету її класу. Таким чином забезпечується завершення усіх незакінчених операцій вводу-виводу.
збільшення пріоритету «забутих задач». Якщо задача (або процес) не отримує процесора досить давно (цей проміжок часу задається наприклад у OS/2 у файлі CONFIG.SYS), диспетчер задач OS/2 тимчасово присвоює їй рівень пріоритету, що не перевищує критичний. У результаті час переключення на таку «забуту» програму пришвидшується. Після використання одного кванту часу пріоритет знову зменшується до попереднього.
Такий механізм у сильно завантажених системах дозволяє програмам з маленьким пріоритетом хоч іноді працювати. При відсутності такого механізму такі програми взагалі б не працювали.