Page 33 - 6111
P. 33

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






                                                              32
   28   29   30   31   32   33   34   35   36   37   38