Pipedija - tautosaka, gandai, kliedesiai ir jokios tiesos! Durniausia wiki enciklopedija durnapedija!


Multiprocesinės OS

Iš Pipedijos - durniausios enciklopedijos.
Jump to navigation Jump to search

Multiprocesinės OS - tos, kuriose gali vienu metu veikti keli procesai, t.y., gali būti vienu metu paraleliai vykdomos kelios programos. Praktiškai tai reiškia, kad kelios programos dirba ant vieno procesoriaus, tačiau dirba tik trumpais laiko gabaliukais, pvz., po kelias mikrosekundes - tai viena, tai antra, tai trečia, tai vėl pirma, ir taip toliau. Kadangi tokie pasikeitimai vyksta labai greitai, atrodo, lyg programos dirbtų vienu metu.

Paprastai yra išskiriami du multiprocesinių operacinių sistemų variantai, pagal tai, koksai tenai yra naudojamas multitaskingas:

  • Kooperacinis multitaskingas (cooperative multitasking) - tai reiškia, kad kiekviena programa truputį padirba ir pati savanoriškai perduoda valdymą OS, kuri jau perduoda valdymą kitai programai
  • Prievartinis multitaskingas (preemptive multitasking) - tai reiškia, kad niekas jokios programos neklausia, ar jinai savo darbo porciją padarė, ir OS perjungia darbą į kitą programą, nieko neklausdam

Tipiškos kooperacinės OS buvo senoji MacOS ir Windows iki Windows 3 versijų. Kadangi kooperaciniame multitaskinge kokia nors programa gali imti ir užsimąstyti, tai gali viskas baigtis tuo, kad ta užsimąsčiusi programa taip ir užlenks visą kompiuterį, nes darbo niekada niekam neperduos. Tai bent jau MacOS, kadangi nuo pat pradžių buvo kuriama gan galingiems Motorola 68000 serijų procesoriams, dar turėjo kažkokias priemones, kad pakibusią programą nudaužt (nors ne visada sugebėdavo). O vat su Windows buvo prasčiau, tenai jei jau kas pakibdavo, tai visą kompiuterį tekdavo perkrauti.

Paskui jau atsirado Windows 9x ir Windows NT, tai tenai buvo geriau su multitaskingu, nes jis buvo jau toksai, kur prievartinis.

Gi kitos OS, kaip kad UNIX ir iš jos išsivysčiusi Linux, ar OS/2 ir iš jos išsivysčiusi Windows NT, ar visai nesusijusi kokia Multics, ar OpenVMS, išvis nuo pat pradžių būdavo su normaliu ir padoriu prievartiniu multitaskingu, tai tenai kibimo bėdų nebūdavo. Bet ilgą laiką tokios operacinės sistemos buvo laikomos tik visokiems mainfreimams ar bent jau šiaip galingiems serveriams ar bent jau darbo stotims skirtomis. Tik apie kokius 1990 tokios OS ėmė po truputį plisti ir į normalesnius kompiuterius, o smarkiai išplito realiai tik apie 2000 metus. Taip kad geros, galutiniams vartotojams skirtos multiprocesinės OS yra jau tik šių modernių laikų reiškinys.

Atskira multiprocesinių OS rūšimi laikoma realaus laiko OS, kur ne tik niekas nieko neklausia, bet dar ir resursai taip apribojami ir padalinami, kad visos programos galėtų su garantijomis gauti savo procesoriaus laiko gabalą būtent tada, kai reikia, o ne tada, kai kažkam kažkas užplauks.

Dar kita multiprocesinių OS rūšimi yra virtualizuojančios OS, kurios leidžia daryti virtualias mašinas, ant kurių galima leisti kitas OS, kurios pačios būtų multiprocesinės ar vėlgi virtualizuojančios. Tai čia dar kita kategorija gaunasi.