Kas yra Multiprogramavimas?

Daugiaprogramis programavimas yra vienas iš pagrindinių lygiagretaus apdorojimo tipų, kuris gali būti naudojamas daugelyje skirtingų aplinkų. Iš esmės tai leidžia kelioms programoms būti aktyvioms tuo pačiu metu, tuo pačiu metu veikiant viename procesoriuje. Jo funkcionalumas šioje aplinkoje apima nuolatinį nuoseklų užduočių, susijusių su vienos programos funkcija, atlikimo procesą, tada pereinama prie užduoties, susijusios su kita programa, vykdymo.

Šis apdorojimo tipas labai skiriasi nuo kelių apdorojimo, nes nors šiuo metu gali būti kelios aktyvios programos, vienprocesorius nevykdo komandų visoms programoms vienu metu. Vietoj to, procesorius kreipiasi į kiekvieną programą, vykdo vieną komandą, tada pereina prie kitos programos eilėje. Ankstesnė programa išlieka aktyvi, bet pereina į pasyvią būseną, kol vienprocesorius grįžta į eilės priekį ir įvykdo antrą komandą.

Galutinio vartotojo požiūriu, procesas yra sklandus. Kalbant apie faktines funkcijas, atrodo, kad vartotojas vienu metu naudoja kelias skirtingas programas. Taip yra todėl, kad daugiafunkcinis programavimas naudoja vieną procesorių, kad greitai vykdytų komandas. Galutinis rezultatas yra tai, kad vartotojas pastebi mažai arba visai nedaug delsimo laiko, kai sumažina vieną programą, kad atliktų su kita programa susietą užduotį.

Daugiafunkcinio programavimo mechanizmas yra žinomas kaip pertraukimas. Kiekvienai užduočiai suteikiamas tam tikras apdorojimo laikas, kol operacinės sistemos pereis prie kitos programos ir kitos užduoties. Tam tikra prasme šis metodas yra susijęs su kelių užduočių žongliravimu vienu metu, greitai atlikus vieną reikalingą veiksmą, tada pereinant prie kažko atlikti su kita užduotimi prieš grįžtant į buvusį darbą.

Atmintis yra svarbi, kad ši apdorojimo forma tinkamai veiktų. Turi būti pakankamai talpos, kad būtų užtikrinta, jog vienai besisukančioje eilėje esanti programai iškilus problemai, ji neapsaugos nuo vėlavimų ir neturės įtakos kitų atidarytų programų veikimui. Tuo pačiu metu turėtų būti įdiegta tam tikra atminties apsauga. Jei taip nėra, vienos programos problema gali sukurti pakopinį efektą, kuris išjungia arba bent sulėtina kitas atidarytas programas.