Багатозадачність (англ. multitasking) — властивість операційної системи або середовища програмування забезпечувати можливість паралельної (або псевдопаралельної) обробки декількох процесів. На комп'ютерах із одним одноядерним процесором одночасно може виконуватись лише одна задача, тому багатозадачність організовується через розподілення часу виконання задачі на процесорі. Справжня багатозадачність операційної системи можлива тільки в багатопроцесорних, або кількаядерних системах, або в розподілених обчислювальних системах.
Властивості багатозадачного середовища
Примітивні багатозадачні середовища забезпечують чисте «розділення ресурсів», коли за кожним завданням закріплюється певна ділянка пам'яті, і завдання активізується в строго певні інтервали часу.
Розвиненіші багатозадачні системи проводять розподіл ресурсів динамічно, коли завдання стартує в пам'яті або покидає пам'ять залежно від її пріоритету і від стратегії системи. Таке багатозадачне середовище володіє такими особливостями:
- Кожне завдання має свій пріоритет, відповідно до якого отримує час і пам'ять
- Система організовує черги завдань так, щоб всі завдання отримали ресурси, залежно від пріоритетів і стратегії системи
- Система організовує обробку переривань, за яких завдання можуть активуватися, деактивуватися і віддалятися
- Після закінчення покладеного кванта часу завдання може тимчасово викидатися з пам'яті, віддаючи ресурси іншим завданням, а потім через визначений системою час, відновлюватися в пам'яті (свопінг)
- Система забезпечує захист пам'яті від несанкціонованого втручання інших завдань
- Система розпізнає збої і зависання окремих завдань і припиняє їх
- Система вирішує конфлікти доступу до ресурсів і пристроїв, не допускаючи тупикових ситуацій загального зависання від очікування заблокованих ресурсів
- Система гарантує кожному завданню, що рано чи пізно його буде активовано
- Система обробляє запити реального часу
- Система забезпечує комунікацію між процесами
Труднощі реалізації багатозадачного середовища
Основною трудністю реалізації багатозадачного середовища є її надійність, виражена в захисті пам'яті, обробці збоїв і переривань, оберіганні від зависань і тупикових ситуацій.
Окрім надійності, багатозадачне середовище має бути ефективним. Витрати ресурсів на її підтримку не повинні заважати процесам проходити, уповільнювати їхню роботу, різко обмежувати пам'ять.
Історія багатозадачних операційних систем
Спочатку реалізація багатозадачних операційних систем була серйозною технічною трудністю, тому впровадження багатозадачних систем затягувалося, а користувачі довгий час після впровадження віддавали перевагу однозадачним.
Надалі, після появи кількох вдалих рішень, багатозадачні середовища стали удосконалюватися, і в наш час[] уживаються повсюдно.
Однією з перших багатозадачних систем була (OS/360) (1966 ), використовувана для комп'ютерів фірми 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 вибрала дві лінії розробок — на базі (яка після довгого допрацювання початкової системи кооперативної багатозадачності, аналогічної 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
Див. також
Це незавершена стаття про операційні системи. Ви можете проєкту, виправивши або дописавши її. |
Ця стаття потребує додаткових для поліпшення її . (січень 2016) |
В іншому мовному розділі є повніша стаття Computer multitasking(англ.). Ви можете допомогти, розширивши поточну статтю за допомогою з англійської. (грудень 2019)
|
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Bagatozadachnist angl multitasking vlastivist operacijnoyi sistemi abo seredovisha programuvannya zabezpechuvati mozhlivist paralelnoyi abo psevdoparalelnoyi obrobki dekilkoh procesiv Na komp yuterah iz odnim odnoyadernim procesorom odnochasno mozhe vikonuvatis lishe odna zadacha tomu bagatozadachnist organizovuyetsya cherez rozpodilennya chasu vikonannya zadachi na procesori Spravzhnya bagatozadachnist operacijnoyi sistemi mozhliva tilki v bagatoprocesornih abo kilkayadernih sistemah abo v rozpodilenih obchislyuvalnih sistemah Vlastivosti bagatozadachnogo seredovishaPrimitivni bagatozadachni seredovisha zabezpechuyut chiste rozdilennya resursiv koli za kozhnim zavdannyam zakriplyuyetsya pevna dilyanka pam yati i zavdannya aktivizuyetsya v strogo pevni intervali chasu Rozvinenishi bagatozadachni sistemi provodyat rozpodil resursiv dinamichno koli zavdannya startuye v pam yati abo pokidaye pam yat zalezhno vid yiyi prioritetu i vid strategiyi sistemi Take bagatozadachne seredovishe volodiye takimi osoblivostyami Kozhne zavdannya maye svij prioritet vidpovidno do yakogo otrimuye chas i pam yat Sistema organizovuye chergi zavdan tak shob vsi zavdannya otrimali resursi zalezhno vid prioritetiv i strategiyi sistemi Sistema organizovuye obrobku pererivan za yakih zavdannya mozhut aktivuvatisya deaktivuvatisya i viddalyatisya Pislya zakinchennya pokladenogo kvanta chasu zavdannya mozhe timchasovo vikidatisya z pam yati viddayuchi resursi inshim zavdannyam a potim cherez viznachenij sistemoyu chas vidnovlyuvatisya v pam yati svoping Sistema zabezpechuye zahist pam yati vid nesankcionovanogo vtruchannya inshih zavdan Sistema rozpiznaye zboyi i zavisannya okremih zavdan i pripinyaye yih Sistema virishuye konflikti dostupu do resursiv i pristroyiv ne dopuskayuchi tupikovih situacij zagalnogo zavisannya vid ochikuvannya zablokovanih resursiv Sistema garantuye kozhnomu zavdannyu sho rano chi pizno jogo bude aktivovano Sistema obroblyaye zapiti realnogo chasu Sistema zabezpechuye komunikaciyu mizh procesamiTrudnoshi realizaciyi bagatozadachnogo seredovishaOsnovnoyu trudnistyu realizaciyi bagatozadachnogo seredovisha ye yiyi nadijnist virazhena v zahisti pam yati obrobci zboyiv i pererivan oberiganni vid zavisan i tupikovih situacij Okrim nadijnosti bagatozadachne seredovishe maye buti efektivnim Vitrati resursiv na yiyi pidtrimku ne povinni zavazhati procesam prohoditi upovilnyuvati yihnyu robotu rizko obmezhuvati pam yat Istoriya bagatozadachnih operacijnih sistemSpochatku realizaciya bagatozadachnih operacijnih sistem bula serjoznoyu tehnichnoyu trudnistyu tomu vprovadzhennya bagatozadachnih sistem zatyaguvalosya a koristuvachi dovgij chas pislya vprovadzhennya viddavali perevagu odnozadachnim Nadali pislya poyavi kilkoh vdalih rishen bagatozadachni seredovisha stali udoskonalyuvatisya i v nash chas koli uzhivayutsya povsyudno Odniyeyu z pershih bagatozadachnih sistem bula OS 360 1966 vikoristovuvana dlya komp yuteriv firmi IBM i yihnih radyanskih analogiv YeS EOM Rozrobki sistemi buli silno zatyagnuti i na pochatkovij chas firma IBM visunula odnozadachnij DOS 360 shob zadovolniti zamovnikiv do povnoyi zdachi OS 360 v ekspluataciyu Sistemu rozkritikuvali cherez nizku nadijnist i vazhkist v ekspluataciyi U 1969 roci z yavilasya sistema UNIX z pershim dosit akuratnim algoritmichnim rozv yazannyam problemi bagatozadachnosti V nash chas koli na bazi UNIX stvoreni desyatki operacijnih sistem Na komp yuterah PDP 11 i yih radyanskih analogah SM 4 vikoristovuvalasya bagatozadachna sistema RSX 11 radyanskij analog OS RV i sistema rozpodilu chasu TSX PLUS sho zabezpechuye obmezheni mozhlivosti bagatozadachnosti i rozrahovanij na bagato koristuvachiv rezhim rozdilennya chasu sho emulyuvav dlya kozhnogo koristuvacha odnozadachnu RT 11 radyanskij analog RAFOS Ostannye rishennya bulo velmi populyarne cherez nizku efektivnist i nadijnist povnocinnoyi bagatozadachnoyi sistemi Akuratnim rishennyam viyavilasya operacijna sistema VMS rozroblena spochatku dlya komp yuteriv VAX radyanskij analog SM 1700 yak rozvitok RSX 11 Pershij u sviti multimedijnij personalnij komp yuter Amiga 1000 1984 r spochatku proyektuvavsya z rozrahunkom na povnu aparatnu pidtrimku vitiskalnoyi bagatozadachnosti realnogo chasu v OS AmigaOS U comu vipadku rozrobka aparatnoyi i programnoyi chastini velasya paralelno ce privelo do togo sho za pokaznikom kvantuvannya planuvalnika bagatozadachnosti 1 50 sekundi na peremikannya kontekstu AmigaOS dovgij chas zalishalasya neperevershenoyu sered personalnih komp yuteriv Bagatozadachnist zabezpechuvala takozh firma Microsoft v operacijnih sistemah Windows Pri comu Microsoft vibrala dvi liniyi rozrobok na bazi yaka pislya dovgogo dopracyuvannya pochatkovoyi sistemi kooperativnoyi bagatozadachnosti analogichnoyi Mac OS zgodom vililasya v linijku Windows 9x i Windows NT na osnovi idej zakladenih v VMS Vikoristannya dosvidu VMS zabezpechilo sistemam istotno vishu produktivnist i nadijnist Za chasom peremikannya kontekstu bagatozadachnosti kvantuvannya tilki ci operacijni sistemi mozhut buti porivnyanni z AmigaOS i UNIX a takozh jogo nashadkami takimi yak yadro Linux PrimitkiMealy G H Witt B I Clark W A The functional structure of OS 360 IBM Systems Journal 5 1 1966Div takozhParalelizm informatika Bagatonitkovist M yuteks Semafor programuvannya Ce nezavershena stattya pro operacijni sistemi Vi mozhete dopomogti proyektu vipravivshi abo dopisavshi yiyi Cya stattya potrebuye dodatkovih posilan na dzherela dlya polipshennya yiyi perevirnosti Bud laska dopomozhit udoskonaliti cyu stattyu dodavshi posilannya na nadijni avtoritetni dzherela Zvernitsya na storinku obgovorennya za poyasnennyami ta dopomozhit vipraviti nedoliki Material bez dzherel mozhe buti piddano sumnivu ta vilucheno sichen 2016 V inshomu movnomu rozdili ye povnisha stattya Computer multitasking angl Vi mozhete dopomogti rozshirivshi potochnu stattyu za dopomogoyu perekladu z anglijskoyi gruden 2019 Divitis avtoperekladenu versiyu statti z movi anglijska Perekladach povinen rozumiti sho vidpovidalnist za kincevij vmist statti u Vikipediyi nese same avtor redaguvan Onlajn pereklad nadayetsya lishe yak korisnij instrument pereglyadu vmistu zrozumiloyu movoyu Ne vikoristovujte nevichitanij i nevidkorigovanij mashinnij pereklad u stattyah ukrayinskoyi Vikipediyi Mashinnij pereklad Google ye korisnoyu vidpravnoyu tochkoyu dlya perekladu ale perekladacham neobhidno vipravlyati pomilki ta pidtverdzhuvati tochnist perekladu a ne prosto skopiyuvati mashinnij pereklad do ukrayinskoyi Vikipediyi Ne perekladajte tekst yakij vidayetsya nedostovirnim abo neyakisnim Yaksho mozhlivo perevirte tekst za posilannyami podanimi v inshomovnij statti Dokladni rekomendaciyi div Vikipediya Pereklad