Care este modul multi-program (multi-program) al calculatorului? - catalogul articolelor - pagina echipei - ro

Sistemele de operare oferă utilizatorilor o gamă largă de servicii de calcul, simplificând utilizarea computerelor. În primul rând, aceasta se referă la varietatea modurilor de funcționare a mașinilor furnizate de sistemul de operare. În modul de funcționare, înțelegeți principiile organizării structurale și funcționale a hardware-ului și a software-ului. În general, utilizarea calculatoarelor este împărțită în programe unice și multiprogramate.







Din punct de vedere istoric, regimurile cu un singur program au apărut pe primul loc. La implementarea acestora, toate resursele principale ale computerului (timpul procesorului, memoria RAM, etc.) sunt date complet în posesia exclusivă a utilizatorului. Modul cu o singură programare poate avea modificări: modul de acces direct cu unul program și modul de acces indirect pentru unul program.

În modul de acces direct, utilizatorul primește calculatorul în deplină dispoziție: pregătește computerul pentru lucru, descarcă sarcinile, inițiază, monitorizează progresul soluției și scoate rezultatele. La sfârșitul muncii unui utilizator, toate resursele de computer sunt transferate la eliminarea altui (fig.9.5, a). Acest tip de regim se caracterizează printr-un volum util foarte scăzut de mijloace tehnice. Pentru a reduce productivitatea calculatorului din cauza perioadelor de nefuncționare a procesorului, timpul petrecut pentru pregătirea computerului pentru funcționare (includerea, verificarea, încărcarea sistemului de operare, introducerea sarcinilor etc.) și durata lungă de reacție a rezultatului utilizatorului. Din aceste motive, modul nu este practic utilizat în computerele cu destinație generală. Dimpotrivă, în PC acest mod este utilizat ca principal, deoarece în aceste tipuri de calculatoare principalul criteriu al muncii eficiente este furnizarea de facilități maxime pentru utilizatori.

În modul de acces indirect, utilizatorul nu are contact direct cu computerul. Acest mod a fost predecesorul modurilor de multiprogramare într-un calculator cu performanțe ridicate și medii, a fost destinat să ofere o utilizare mai completă a procesorului prin reducerea timpilor neproductivi de repaus. În prezent, nu este practic utilizat, deoarece timpul de funcționare al procesoarelor în calculatoarele moderne nu este principala resursă a sistemului, dar principiile construirii acestui mod permit înțelegerea mai bună a esenței procesării multiprogramelor.

Esența regimului este după cum urmează.

Un set de sarcini este compilat din sarcinile pregătite de utilizatori. Procesorul gestionează programele de utilizator strict în ordinea în care apar în pachet. Procesul de execuție a programului următor nu este întrerupt până la finalizarea acestuia. Numai după aceea, procesorul ca resursă este dat în proprietatea exclusivă a următorului program obișnuit. După cum puteți vedea, accesul utilizatorilor la resursele de computer se realizează indirect prin intermediul sistemului de operare, care organizează o tranziție automată de la deservirea sarcinii unui utilizator la altul. Din acest motiv, modul este adesea numit procesare secvențială în șarje. Acesta asigură funcționarea paralelă a dispozitivelor de intrare-ieșire și a procesorului (figura 9.5.6). Acest lucru vă permite să îmbunătățiți în mod semnificativ performanța calculatoarelor prin reducerea timpilor de întrerupere.

Fig. 9.5. Moduri de funcționare cu un singur mod: a - mod de acces direct; b - modul de acces indirect

Modul de acces indirect are un dezavantaj semnificativ. Nu exclude complet cazurile de întrerupere a procesorului sau de utilizare neproductivă. Ori de câte ori un alt program apelat în procesor nu este anterior furnizat cu date, procesorul este forțat să nu mai funcționeze. În același timp, eficiența utilizării calculatorului este redusă drastic. Acest caz este reflectat în Fig.9.5, b pe exemplul sarcinii B. Calculatorul nu funcționează eficient chiar și atunci când programele procesate captează procesorul pentru o perioadă lungă de timp. În aceste cazuri, programele rămase din pachet rămân nesupravegheate. În special periculoase sunt situațiile în care programul actual nu se termină (de exemplu, acesta a fost "deteriorat" după o eșec în timpul soluției sau a fost generat incorect de către utilizator). În acest mod, calculatorul nu dispune de mijloacele necesare pentru rezolvarea unor astfel de conflicte, iar intervenția operatorului este necesară.

Modul de operare multi-program al calculatorului permite întreținerea simultană a mai multor programe de utilizator. Punerea în aplicare a regimului necesită următoarele condiții prealabile:

• independența pregătirii sarcinilor de către utilizatori;

• Separarea resurselor informatice în spațiu și timp;

• Control automat al calculelor.

Independența pregătirii sarcinilor de către utilizatori este asigurată de mijloacele dezvoltate de SAP. Folosind limbile de programare existente, utilizatorii nu ar trebui să ia în considerare situațiile în care aceștia pot accesa simultan aceleași resurse de computer. Aceștia pot utiliza chiar aceiași identificatori, pot accesa aceleași biblioteci de programe și seturi de date, pot utiliza aceleași dispozitive etc. Cărțile către resursele partajate ar trebui să fie întreținute de instalațiile OS, fără a crea interferențe reciproce cu utilizatorii.







Unele tipuri de resurse permit doar utilizarea consistentă de către programele utilizatorilor, de exemplu, într-un calculator uniprocesor, timpul de funcționare al unui singur procesor este o resursă inseparabilă. Utilizarea acestuia implică simplificarea fluxului de aplicații și utilizarea lor secvențială prin programe. În computerele moderne ordinea fluxului de aplicații este furnizată pe baza priorităților lor, unde prioritatea este o caracteristică a priori a aplicației care determină locul în coada de servicii. Crearea de cozi este furnizată de componentele software ale sistemului de operare. Coada de așteptare se realizează utilizând sistemul de întrerupere și prioritățile. Acesta din urmă alocă una, cu prioritate, din grupul de aplicații simultan.

Controlul automat al procesului de calcul în modul multi-program este efectuat de programul central de gestionare a sarcinilor. Esența managementului este redusă la managementul resurselor. În acest mod, sistemul de operare face tabele de management, alocă resurse, le lansează în lucru și corectează tabelele.

Diferitele forme de moduri de funcționare multi-program (multi-program) diferă în principal de importanța diferitelor tipuri de resurse și de regulile de tranziție de la servirea unui program de utilizator la altul. Aceste reguli diferă în ceea ce privește întreruperea programului curent și condițiile de selectare a unui nou program din coada la care se transferă controlul.

Există următoarele tipuri de activități multiprogram: multiprogramarea clasică, modul de partajare a timpului, modul în timp real și un număr de instrumente derivate din acestea.

Modul de multiprogramare clasică sau de procesare discontinuă aplicat computerelor cu un singur procesor reprezintă baza pentru construirea tuturor celorlalte tipuri de lucrări multi-program. Modul este destinat să asigure timpul minim de procesare pentru pachetul de lucrări și să maximizeze sarcina procesorului.

Pachetul de sarcini este organizat în conformitate cu prioritățile sarcinilor, iar întreținerea programului este realizată în ordinea priorității. De obicei, procesorul servește programul cu cea mai mare prioritate. Odată ce soluția sa este finalizată, procesorul trece la următorul program cu prioritate maximă. În acest mod este în multe privințe similar cu modul de acces indirect. În modul multiprogramare, există o diferență semnificativă. Dacă situația este creată atunci când programul de prioritate cea mai mare este întreținut, calculele nu pot fi continuate (de exemplu, sunt necesare date suplimentare), întreruperea serviciului este însoțită de transferul următorului program de control prioritar. Dar, de îndată ce vor dispărea condițiile care împiedică continuarea sarcinii cu cea mai mare prioritate, procesorul revine din nou la continuarea deciziei programului anterior întrerupt. Acest caz este ilustrat în Fig. 9.6 Când efectuați sarcina B.

Fig. 9.6. Procesarea lotului multi-program

Astfel de întreruperi și transferuri de control se pot suprapune în mod repetat. Acest lucru minimizează timpul de întrerupere a procesorului inutil la minim.

Din cele de mai sus rezultă că într-un calculator uniprocesor, se pare multiprogramarea, deoarece procesorul este furnizat programelor la intervale care nu se suprapun. Timpul redus de întreținere este asigurat și prin funcționarea paralelă a procesorului și a dispozitivelor I / O.

Ca dezavantaj, trebuie remarcat faptul că, în modul multiprogramare, nu există nici o îmbunătățire a calității serviciului de utilizator comparativ cu accesul indirect. Aici, de asemenea, programele individuale pot monopoliza procesorul pentru o lungă perioadă de timp, blocând astfel programele altor utilizatori.

Modul de partajare a timpului este o formă mai dezvoltată de funcționare a calculatorului multiprogram. În acest mod, de obicei combinat cu modul de fundal al multiprogramării clasice, unele dintre programele de utilizator cu cea mai mare prioritate sunt alocate unui sau mai multor grupuri. Pentru fiecare astfel de grup, se stabilește un serviciu ciclic circular, în care fiecare program din grup primește periodic un interval de timp suficient de scurt pentru întreținere - timpul cuantic-t (figura 9.7).

Fig. 9.7. Modul de partajare a timpului

După finalizarea ciclului următor, procesul de extragere a cuantitelor se repetă. Aceasta oferă utilizatorilor o impresie despre simultană aparentă a programelor lor. În cazul în care utilizatorului i se permite accesul direct la rezultatele rezultatelor soluției, această impresie se îmbunătățește, deoarece rezultatele sunt furnizate în timpul calculului programului, fără a aștepta finalizarea întreținerii tuturor programelor grupului sau a pachetului ca întreg.

Condiția de întrerupere a programului curent este fie expirarea timpului cuantic alocat, fie finalizarea naturală (terminarea) soluției, fie o întrerupere I / O, la fel ca în multic programarea clasică. Pentru a implementa regimul de partajare a timpului, este necesar ca calculatorul să aibă în componența sa un sistem avansat de măsurare a timpului:

interval de timp, temporizator procesor, ceas electronic, etc. Aceasta permite formarea de grupuri de programe cu un cuantum constant sau variabil de timp. Partajarea timpului este folosită pe scară largă pentru întreținerea unei rețele informatice de stații de abonat.

O formă mai complexă de partajare a timpului este modul în timp real. Acest mod are caracteristici specifice:

• fluxul de aplicații de la abonați este, de regulă, întâmplător, imprevizibil;

• pierderile de cereri de intrare către calculator și de date către ele nu sunt permise, deoarece nu pot fi întotdeauna restaurate;

• timpul de răspuns al calculatorului la influențele externe, precum și timpul de emitere a rezultatelor celei de-a treia probleme trebuie să îndeplinească constrângerile stricte ale formularului

unde tP este timpul de soluționare al problemei; tp ADP este timpul permis de soluționare.

Figura 9.8 prezintă dependența costului de rezolvare a problemei la timpul tP. Dacă este încălcat inegalitatea (9.1), costul soluției scade brusc la zero; în sisteme separate poate deveni negativ, după cum arată linia punctată. Modul în timp real integrează practic toate sistemele în care este utilizat computerul în buclă de control.

Fig. 9.8. Dependența costului soluției la timp în sistemele în timp real







Trimiteți-le prietenilor: