Добавил:
twitch.tv Заведующий методическим кабинетом, преподаватель на кафедре компьютерного спорта и прикладных компьютерных технологий. Образование - Магистр Спорта. Суета... Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
9
Добавлен:
29.04.2022
Размер:
5.97 Mб
Скачать

7. Використання динамічних пріоритетів.

При виконанні програм, які реалізують функції контролю чи управління в системах реального часу може виникнути ситуація, коли одна або декілька задач не можуть бути вирішені на протязі довгого проміжку часу через значну завантаженість обчислювальної системи.

В цьому випадку втрати, які пов’язані з невиконанням цих задач можуть бути більшими ніж втрати від невиконання задач з більш високим пріоритетом. Це може бути досягнуто шляхом динамічної зміни пріоритету задачі в процесі її виконання. Це дозволяє реалізувати більш швидку реакцію на запити користувачів і гарантувати виконання будь – яких запитів.

Операційна система може змінити пріоритет задачі в таких випадках:

  1. збільшення пріоритету активної задачі. При завантаженні задачі на виконання її пріоритет автоматично збільшується. Це знижує час реакції цієї активної задачі на дії користувачів в порівнянні з іншими фоновими задачами;

  2. збільшення пріоритету операції вводу/виводу. Після завершення операції вводу/виводу задача отримує найвищий пріоритет в певному класі задач. Це дозволяє більш швидко закінчити всі незавершені операції вводу/виводу;

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

Механізм динамічної зміни пріоритету задач в ОС Windows NT та Unix – самостійно!

Тема 4. Синхронізація процесів

  1. Незалежні та взаємодіючі обчислювальні процеси.

  2. Види задач синхронізації паралельних процесів.

  3. Синхронізація за допомогою блокування пам’яті.

  4. Алгоритм Деккера.

  5. Команда “перевірка” та “встановлення”.

  6. Використання семафорів для синхронізації та впорядкування паралельних процесів.

  7. Монітороподібні засоби синхронізації паралельних процесів.

  8. Поштові ящики.

  9. Конвеєри.

  10. Черги повідомлень.

1. Незалежні та взаємодіючі обчислювальні процеси.

Основною особливістю сучасних операційних систем як складової частини СПЗ є виконання декількох задач одночасно (паралельно в часі). При цьому під паралельними задачами (процесами) розуміють не тільки процеси які виконуються паралельно на різних процесорах чи пристроях вводу/виводу, але й ті послідовні процеси, які розділяють один центральний процесор і хоча б частково перекриваються в часі.

Паралельні процеси – це такі послідовні процеси, які знаходяться в активному стані одночасно. Такі процеси можуть бути незалежні та взаємодіючі.

Незалежні процеси – це процеси, змінні яких знаходяться в процесі не перекриваючись. Змінні в цьому випадку розуміють – файл даних, область оперативної пам’яті та набір проміжних змінних, які використовуються в обчисленні.

Взаємодіючі процеси – це процеси, які спільно використовують деякі загальні змінні, а також виконання одного процесу може вплинути на виконання іншого.

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

Конкуруючі – це процеси, які сумісно виконують спільну роботу і мають доступ до спільних змінних.

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