иків.
В· У більшості випадків є звичайною статичною бібліотекою, яка компонується з головної системної частиною ОС - менеджером процесів.
2.3. Методи управління завданнями в ОС РВ. p> 2.3.1. Класифікація підходів. p> Існує велика кількість різних методів управління завданнями. Кожен з них призначений для використання в певному класі систем, кожна з яких заснована на деякій множині обмежень. p> 2.3.1.1. Статичний планування. p> Більшість всіх існуючих методів ставляться до статичному планування. У цьому випадку вважається, що всі безліч завдань системи і всі їх характеристики відомі заздалегідь. У цьому випадку розклад роботи завдань будується до початку роботи системи і залишається постійним під час її функціонування. У цьому розкладі визначені часи старту для всіх завдань системи. Протягом роботи системи планувальник вибирає таку завдання для запуску відповідно з цим розкладом. Розклад циклічно повторюється. p> Однак у реальних системах одне подібне штатного розпису не може передбачити всі можливі ситуації, які можуть виникнути. Крім того, в системі може бути декілька незалежних режимів роботи, перемикання між якими може відбуватися в заздалегідь не певний час. Тому зазвичай на практиці до початку роботи складається декілька розкладів для різних випадків. Потім під час функціонування системи розкладу змінюються. Це може відбуватися або в непередбачувані або в заздалегідь визначені моменти часу, коли знадобилася зміна режиму роботи. p> 2.3.1.2. Динамічне планування. p> При динамічному ж плануванні планувальник у кожний момент часу володіє повними знаннями лише про поточний безлічі завдань. У момент планування даного безлічі, він не має жодних відомостей про тих завданнях, які можуть з'явитися в майбутньому. Тому розклад змінюється з плином часу. Динамічних алгоритмів планування існує значно менше, ніж статичних.
2.3.1.3. Планування, засноване на часі. p> У цьому випадку проводиться статичний аналіз системи, в результаті чого будується розклад, який потім використовується під час роботи для того, щоб вирішити, коли і яке завдання має розпочати своє виконання. Це розклад містить фіксований час старту для кожного прикладу завдань, грунтуючись на часі виконання в гіршому випадку і всіх взаимозависимостях між завданнями. Потім це розклад може змінитися. p> Планувальник повинен містити всю додаткову інформацію про всі прикладах всіх завдань. Коли прибуде нове завдання необхідно визначити, грунтуючись на існуючому розкладі, чи можна її туди додати, і якщо так, то побудувати новий розклад.
Даний клас методів застосовуються для періодичних завдань, або для завдань, які можуть бути зведені до періодичних. Основним критерієм для статичного планування періодичних завдань можна вважати передбачуваність, тобто визначення исполнимого розкладу, в якому всі завдання задовольняють всім своїм обмеженням. p> Так як в цьому підході, виходячи із заданих характеристик, будується таблиця, яка визначає час запуску і час виконання для кожного завдання, після чого завдання розташовуються відповідно до цим розкладом, то, як наслідок, то, коли і де виконуються завдання, суворо фіксоване. Цей підхід не є достатньо гнучким, оскільки будь-яке зміна характеристик небудь завдання може зажадати повної перебудови всієї таблиці.
Так як завдання можуть мати безліч різних обмежень, то для знаходження исполнимого розкладу застосовуються різні методи, наприклад, математичного програмування. Найчастіше використовується метод гілок і меж. p> 2.3.1.4. Планування апериодических завдань
Використовуючи даний принцип можна планувати і аперіодичні завдання. При цьому вони плануються під час роботи. На початку крайні терміни всіх прикладів завдань сортуються, після чого розклад ділиться на безліч непересічних інтервалів роботи. Потім для цих інтервалів визначаються запасні проміжки часу, які можуть бути використані для планування новоприбулих апериодических завдань. p> Інший метод заснований на використанні того факту, що виконання завдання може бути динамічно зрушено вліво або вправо з тимчасової шкалою до тих пір, поки всі тимчасові обмеження для всіх задач все ще здійснимі. Завдання повинні бути переривається. p> 2.3.1.5. Планування, кероване пріоритетами. p> У цьому випадку також проводиться статичний аналіз, але на відміну від попереднього випадку чітке розклад не будується, а тільки встановлюються пріоритети для всіх завдань. Під час роботи системи активізується перша готова до запуску завдання з найвищим пріоритетом. При цьому якщо в цей момент виконується завдання з нижчим пріоритетом, то вона призупинить своє виконання і процесор буде відданий нової задачі з більш високим значенням пріорату.
Пріоритети призначаються виходячи з тимчасових обмежень завдань. Вони можуть бути статичними або динамічними. Статичні пріоритети, в відміну від динамічних, задаються один раз і не змінюються з часом.
2.3.2. Огляд методів. p> 2.3.2.1. Rate-monoton...