Remove ads
З Вікіпедії, вільної енциклопедії
Багатозадачність (англ. multitasking) — властивість операційної системи або середовища програмування забезпечувати можливість паралельної (або псевдопаралельної) обробки декількох процесів. На комп'ютерах з одним одноядерним процесором одночасно може виконуватись лише одна задача, тому багатозадачність організовується через розподілення часу виконання задачі на процесорі. Справжня багатозадачність операційної системи можлива тільки в багатопроцесорних, або кількаядерних системах, або в розподілених обчислювальних системах.
Примітивні багатозадачні середовища забезпечують чисте «розділення ресурсів», коли за кожним завданням закріплюється певна ділянка пам'яті, і завдання активізується в строго певні інтервали часу.
Розвиненіші багатозадачні системи проводять розподіл ресурсів динамічно, коли завдання стартує в пам'яті або покидає пам'ять залежно від її пріоритету і від стратегії системи. Таке багатозадачне середовище володіє такими особливостями:
Основною трудністю реалізації багатозадачного середовища є її надійність, виражена в захисті пам'яті, обробці збоїв і переривань, оберіганні від зависань і тупикових ситуацій.
Окрім надійності, багатозадачне середовище має бути ефективним. Витрати ресурсів на її підтримку не повинні заважати процесам проходити, уповільнювати їхню роботу, різко обмежувати пам'ять.
Спочатку реалізація багатозадачних операційних систем була серйозною технічною трудністю, тому впровадження багатозадачних систем затягувалося, а користувачі довгий час після впровадження віддавали перевагу однозадачним.
Надалі, після появи кількох вдалих рішень, багатозадачні середовища стали удосконалюватися, і в наш час[коли?] уживаються повсюдно.
Однією з перших багатозадачних систем була OS/360 (1966 [1]), використовувана для комп'ютерів фірми IBM і їхніх радянських аналогів ЄС ЕОМ. Розробки системи були сильно затягнуті, і на початковий час фірма IBM висунула однозадачний DOS/360, щоб задовольнити замовників до повної здачі OS/360 в експлуатацію. Систему розкритикували через низьку надійність і важкість в експлуатації.
У 1969 році з'явилася система UNIX з першим досить акуратним алгоритмічним розв'язанням проблеми багатозадачності. В наш час[коли?] на базі UNIX створені десятки операційних систем.
На комп'ютерах PDP-11 і їх радянських аналогах СМ-4 використовувалася багатозадачна система RSX-11 (радянський аналог ОС РВ), і система розподілу часу TSX-PLUS, що забезпечує обмежені можливості багатозадачності й розрахований на багато користувачів режим розділення часу, що емулював для кожного користувача однозадачну RT-11 (радянський аналог РАФОС). Останнє рішення було вельми популярне через низьку ефективність і надійність повноцінної багатозадачної системи.
Акуратним рішенням виявилася операційна система VMS, розроблена спочатку для комп'ютерів VAX (радянський аналог — СМ-1700) як розвиток RSX-11.
Перший у світі мультимедійний персональний комп'ютер Amiga 1000 (1984 р.) спочатку проєктувався з розрахунком на повну апаратну підтримку витискальної багатозадачності реального часу в ОС AmigaOS. У цьому випадку розробка апаратної й програмної частини велася паралельно, це привело до того, що за показником квантування планувальника багатозадачності (1/50 секунди на перемикання контексту) AmigaOS довгий час залишалася неперевершеною серед персональних комп'ютерів.
Багатозадачність забезпечувала також фірма Microsoft в операційних системах Windows. При цьому Microsoft вибрала дві лінії розробок — на базі Windows 0.9 (яка після довгого допрацювання початкової системи кооперативної багатозадачності, аналогічної Mac OS, згодом вилилася в лінійку Windows 9x), і Windows NT, на основі ідей, закладених у VMS. Використання досвіду VMS забезпечило системам істотно вищу продуктивність і надійність. За часом перемикання контексту багатозадачності (квантування) тільки ці операційні системи можуть бути порівнянні з AmigaOS і UNIX (а також його нащадками, такими, як ядро Linux).
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.