Multiprogramming în sistemele de prelucrare a lot
Multiprogramming. Procese și fire
Multiprogramming sau multitasking (multitasking). - metoda de calcul este un proces în care un singur procesor sunt executate alternativ mai multe programe. Aceste programe împărtășesc nu numai CPU, dar și alte resurse informatice: memoria operațională și externă, dispozitive de intrare-ieșire, date. Multiprogramming este destinat să crească eficiența sistemului informatic, dar eficacitatea poate fi înțeleasă în moduri diferite. Criteriile cele mai tipice de eficiență a sistemelor de calcul sunt:
• Capacitatea - numărul de sarcini efectuate de sistemul calculatorului în
• experiență de utilizator, care constă, în special, că acestea au
capacitatea de a lucra interactiv cu aplicații multiple
• reactivitatea sistemului - capacitatea sistemului de a rezista la predeterminat
(Posibil foarte scurt), intervalul de timp între începutul programului și
În funcție de criteriul eficienței sistemului de operare sunt împărțite în sistemul de lot de prelucrare, sistem de partajare a timpului, și a sistemelor în timp real. Fiecare tip de sistem de operare are mecanisme interne specifice și aplicații speciale. Unele sisteme de operare pot sprijini simultan mai multe moduri, cum ar fi o parte din sarcinile pot fi efectuate în modul de lot, o parte - în timp real sau în schimbul de timp.
Multiprogramming în sistemele de prelucrare a lot
Atunci când se utilizează multiprogramming pentru a crește capacitatea de tranzit a scopului principal al calculatorului este de a minimiza timpul de lucru al tuturor dispozitivelor din calculator, și mai ales CPU. Aceste întreruperi de pot apărea datorită suspendării sarcinilor sale interne cauze, cum ar fi introducerea de date care așteaptă să fie prelucrate aferente. Datele pot fi stocate pe disc, sau provin de la un utilizator care lucrează la terminal, precum și echipamente de măsură instalate pe instalațiile tehnice externe. Dacă vă confruntați cu acest tip de blocare a sarcinii la o soluție naturală, ceea ce duce la o utilizare mai eficientă a procesorului este trecerea procesorului pentru a efectua alte sarcini, care are date pentru prelucrare. Acest concept de multiprogramming este baza așa-numitelor sisteme de lot.
sistem de prelucrare a lot conceput pentru a rezolva problemele din natura principală de calcul, care nu necesită rezultate rapide. Scopul principal al criteriului sistemelor de eficiență și de prelucrare a lot este de lățime de bandă maximă, care este decizia numărul maxim de sarcini pe unitatea de timp.
Pentru a atinge acest obiectiv într-un sistem de prelucrare a lot utilizează următoarea schemă de funcționare: Pachetul de locuri de muncă este format la începutul lucrării. Fiecare loc de muncă necesită o resursă de sistem; acest pachet de locuri de muncă este format dintr-un amestec de multiprogramming, adică setul de sarcini care rulează simultan. Pentru a efectua simultan sarcini selectate au cerințe diferite de resurse. astfel încât să se asigure încărcare echilibrată a tuturor dispozitivelor informatice. De exemplu, în multiprogramming amestec prezență simultană dezirabil de calcul sarcini și sarcini cu IOCTL intensive. Astfel, alegerea de noi locuri de muncă din pachetul de locuri de muncă depinde de situația internă existentă în sistem, care este, alege „favorabile“ loc de muncă. Prin urmare, în sistemele de calculator care rulează sistemul de operare de pachete, este imposibil să se garanteze îndeplinirea unei anumite sarcini pentru o anumită perioadă de timp.
Să ne gândim mai detaliat combinația de timp-IO și calcule. Această combinație poate fi realizată în diferite moduri.
1. Una dintre ele este tipic pentru computerele care au un procesor dedicat de intrare-ieșire (uneori denumite canale). De obicei, canalul are un sistem de comandă diferit de comenzile sistemului CPU. Aceste instrucțiuni sunt concepute special pentru a controla dispozitivele externe, cum ar fi „verifica starea dispozitivului,“ „set de cap magnetic“, „set de start foaie“, „linie de imprimare“. Programele de canal pot fi stocate în același RAM, și programul CPU. Instrucțiunea de sistem CPU oferă instrucțiuni speciale, prin care sunt transmise și să indice ce fel de program de intrare-ieșire, el trebuie să îndeplinească parametrii de canal. Din acest punct, procesorul central și canalul poate funcționa în paralel (Fig. 1a).
Fig. 1. execuția în paralel a calculelor și a operațiunilor de intrare-ieșire.
2. O altă metodă de combinare calcul cu operațiunile de intrare-ieșire implementate în calculatoare, în care dispozitivul extern nu este controlat de către procesorul de intrare-ieșire, și controlere. Fiecare dispozitiv extern (sau grup de dispozitive externe de același tip) are propriul controler, care îndeplinește în mod autonom comenzile de la CPU. Controlerul și în care procesorul central funcționează asincron. Ca multe dispozitive externe includ componente electromecanice, controlerul efectuează echipele sale de gestionare a dispozitivului considerabil mai lent decât CPU - pentru. Această circumstanță este folosită pentru a organiza și efectua calcule operații de intrare-ieșire paralel: o transmisie de comandă între CPU controlerul poate efectua calcule (Figura 1, b.). Controlerul poate informa CPU că este gata să accepte următoarea comandă, semnalul de întrerupere sau CPU afla despre acest lucru, periodic sondaje starea controlerului.
Dacă sistemul îndeplinește mai multe sarcini, există posibilitatea de a combina calculul unei probleme cu ieșire-intrare a unui alt. In timp ce o sarcină este în așteptare pentru un eveniment (act de faptul că un astfel de eveniment într-un sistem multiprogramming nu poate fi doar sfârșitul de intrare-ieșire, dar, de asemenea, de exemplu, debutul unui anumit punct de timp, deblocarea fișierului sau de pornire de pe discul de pagini lipsă ale programului), procesorul nu este inactiv așa cum este cazul cu secvența de program, și de a efectua alte sarcini.
Total amestec de sarcini timp de rulare este de multe ori mai mică decât lor de execuție secvențială timp total (Figura 2a).
În sistemele de lot switch-uri procesor de la o sarcina de a efectua o alta are loc la inițiativa sarcinii activă. de exemplu, atunci când abandonează procesorul din necesitatea de a efectua operațiuni de intrare-ieșire. Prin urmare, există o mare probabilitate ca o sarcină poate lua o lungă perioadă de timp de procesare și de performanță a sarcinilor interactive devine imposibilă. interacțiunea utilizatorului cu calculatorul, pe care un sistem de prelucrare a lot, este de a se asigura că aceasta aduce un loc de muncă, dă lui de manager-operator și în după-amiaza târziu, după întregul pachet de locuri de muncă devine rezultate. Este evident că această procedură mărește eficiența echipamentului, dar reduce eficiența utilizatorului.
Figura 2. Timpul sunt două sarcini principale: la un singur sistem de program (a), în
Sistemul multiprogramming (b).