Page 33 - 6111
P. 33
програма форматування може відформатувати одну доріжку
дискети і повернути управління системі. Після виконання інших
завдань система поверне управління програмі форматування, щоб
та відформатовала наступну доріжку. Подібний метод поділу часу
між завданнями працює, але він істотно ускладнює розробку
програм і висуває підвищені вимоги до кваліфікації програміста.
Програміст повинен забезпечити “дружнє” ставлення своєї
програми до інших виконуваних одночасно з нею програмам,
досить часто віддаючи їм керування. Крайнім проявом
“недружнього” додатка є його зависання, яке призводить до
загального краху системи. У системах з витісняючою
багатозадачністю такі ситуації, як правило, виключені, так як
центральний плануючий механізм зніме зависле завдання з
виконання. Однак розподіл функцій планувальника між системою і
додатками не завжди є недоліком, а за певних умов може бути і
перевагою, тому що дає можливість розробнику додатків самому
проектувати алгоритм планування, найбільш доречний для даного
фіксованого набору задач. Так як розробник сам визначає в
програмі момент часу віддачі керування, то при цьому
виключаються нераціональні переривання програм у “незручні” для
них моменти часу. Крім того, легко вирішуються проблеми
спільного використання даних: задача під час кожної ітерації
використовує їх монопольно і впевнена, що протягом цього періоду
ніхто інший не змінить ці дані. Істотною перевагою non-divemptive
систем є більш висока швидкість переключення з задачі на задачу.
Прикладом ефективного використання невитісняючої
багатозадачності є файл-сервер NetWare, у якому, в значній мірі
завдяки цьому, досягнута висока швидкість виконання файлових
операцій. Менш вдалим виявилося використання невитісняючої
багатозадачності в операційному середовищі Windows 3.х. Однак
майже у всіх сучасних операційних системах, орієнтованих на
високопродуктивне виконання додатків (UNIX, Windows NT, OS / 2,
VAX / VMS), реалізована витісняюча багатозадачність. Останнім
часом дійшла черга і до ОС класу настільних систем, наприклад, OS
/ 2 Warp і Windows 9.х.
Можливо в зв’язку з цим витісняючу багатозадачність часто
називають істинною багатозадачністю.
32