美前驻联合国大使提议将冲绳美军转移至台湾!
Багатозадачн?сть (англ. 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).
- ↑ Mealy G.H., Witt B.I., Clark W.A. The functional structure of OS/360, IBM Systems Journal, 5, #1, 1966
![]() |
Це незавершена стаття про операц?йн? системи. Ви можете допомогти про?кту, виправивши або дописавши ??. |
![]() |
![]() | В ?ншому мовному розд?л? ? повн?ша стаття Computer multitasking(англ.). Ви можете допомогти, розширивши поточну статтю за допомогою перекладу з англ?йсько?. (грудень 2019)
|