Sisteme de prelucrare a lot

Utilizarea 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 presus de toate, a procesorului. Nefuncționare poate apărea ca urmare a suspendării de sarcini interne motive legate, cum ar fi anticiparea datelor de intrare. Datele pot fi stocate pe un disc sau să vină de la utilizator, de la instrumentarea și așa mai departe. D. În cazul unor astfel de situații, soluția cea mai simplă și naturală care crește eficiența procesorului, este de a comuta CPU pentru a efectua alte sarcini, care au toate datele pentru prelucrare. Acest concept sta la baza sistemelor de lot multiprogramming.

sistem de prelucrare a lot conceput pentru a aborda sarcini, în principal de calcul care nu necesită rezultate rapide. Obiectivul primar este o capacitate de sistem discontinuu - numărul de sarcini pe unitatea de timp.

Pentru a maximiza acest criteriu în astfel de sisteme care funcționează următoarea schemă este utilizat:

- la începutul pachetului de locuri de muncă este format de către sistem,

- Fiecare loc de muncă necesită o resursă de sistem,

- Obiectivele acestui pachet este format un amestec multiprogramming, adică, o multitudine de sarcini executate simultan.

Pentru a efectua simultan sarcini selectate au cerințe diferite pentru resurse pentru a asigura o încărcare echilibrată a tuturor dispozitivelor din calculator. De exemplu, în multiprogramming amestec este de dorit să fie prezent sarcini de calcul și de intrare intensivă sarcină și de ieșire.

Alegerea unui nou loc de muncă în afara pachetului depinde de situația internă din sistem, care este, selectează o sarcină de primă importanță pentru situația dată. Din aceasta rezultă că, în pachetul sisteme de calcul nu poate garanta executarea unei sarcini într-un anumit interval de timp.

Luați în considerare opțiunile de combinare a timpului-IO și calcule.

Una dintre variantele de o astfel de combinație este tipic pentru computerele care au un procesor dedicat de intrare-ieșire. Procesoarele mainframe sunt numite canale. De obicei, canalul are propriul set de instrucțiuni, care diferă de instrucțiunea de sistem CPU. Aceste comenzi sunt destinate pentru a controla dispozitivele externe și au forma:

- verifica starea dispozitivului,

- instalați un cap magnetic,

- set top foaie,

- linie de imprimare și t. d.

Programele de canal pot fi stocate în aceeași memorie ca și programul CPU. Soi CPU transmite parametrii de canal și indică programul de intrare-ieșire, el trebuie să le îndeplinească. Din acest punct procesorul central și canalul poate funcționa în paralel (figura 7.1).

O altă metodă de combinare calcul cu operațiunile de intrare-ieșire implementate în calculatoarele, în care dispozitivul extern nu este controlat de către procesorul de intrare-ieșire și controlori. În mod obișnuit, fiecare dispozitiv extern sau grup are propriul controler, care îndeplinește în mod autonom comenzile de la CPU. În acest caz, operatorii și CPU funcționează în mod asincron.

Sisteme de prelucrare a lot

Figura 7.1 - procesare paralelă de calcul și de intrare-ieșire operațiuni în sistemul de canale

Sisteme de prelucrare a lot

Figura 7.2 - execuția în paralel a calculelor și a operațiunilor de intrare-ieșire cu controlerul de sistem

Multe periferice includ piese în mișcare, operatorul efectuează de obicei comanda sa mai lent decât CPU. Acest fapt este folosit pentru organizarea de performanță de calcul paralel și IOPS. Calculele pot fi efectuate între emiterea de controlere de comandă de dispozitive externe. Un astfel de aranjament este prezentat în figura 7.2.

Procesorul recunoaște că regulatorul este gata să accepte următoarea comandă sau o alarmă de întrerupere, sau periodic de votare statutul controlorilor.

Efectul maxim se obține cu calcule mai complete care se suprapun și operațiunile de intrare-ieșire. Dacă sunteți deja execută o singură sarcină, gradul de accelerare depinde de natura problemei și modul în care a luat cu atenție în considerare posibil paralelismul în programare. Dacă problema este dominată de calcul sau de intrare-ieșire, accelerația este practic absentă. Nu se poate suprapune în cazurile în care este necesar să se continue calculul a fost operațiuni complete de intrare-ieșire. În aceste cazuri, timpul procesorului central de mers în gol este inevitabilă.

Dacă sistemul rulează simultan mai multe sarcini, există posibilitatea de a combina calcularea unei probleme IO alta. In timp ce o sarcină este în așteptare pentru un eveniment (debloca fișierul pagina de descărcare sau de un complet operațiunile de intrare-ieșire), procesorul nu este inactiv ca tine pas prin programe, și de a efectua alte sarcini.

De multe ori, timpul total de execuție a amestecului sarcini este mai mic decât timpul total în timpul secvențial. În acest caz, executarea unei anumite sarcini în modul multitasking poate dura mai mult decât cu alocarea exclusivă a procesorului această sarcină. Atunci când este utilizat împreună, procesorul din sistem poate fi situații în care sarcina este gata pentru a rula, dar procesorul este ocupat efectuează o altă activitate. În acest caz, problema, completați de intrare-ieșire, gata pentru a rula, dar procesorul este nevoit să aștepte eliberarea pe care lungește perioada punerii sale în aplicare. Astfel, Figura 7.3 arată că o sarcină executată monomod Un program de 6 unități de timp, dar într-un MULTIPROGRAM - 7. Sarcina, de asemenea, în loc de 5 unități de timp se face pentru un timp total de 6. Dar ambele sarcini în modul multitasking este de numai 8 unități, și un singur program - 11.

În sistemele discontinue comută procesor de la o sarcina de a efectua o alta este inițiată de o sarcină activă - sarcină activă declină procesor de necesitatea de a efectua operațiuni de intrare-ieșire.

Sisteme de prelucrare a lot

Figura 7.3 - îndeplinește două sarcini în timp un singur sistem de program (D), într-un sistem multiprogramming (M)

Acest mecanism determină o mare probabilitate ca o sarcină poate dura o lungă perioadă de timp de procesare și alte sarcini opri.

Este evident că sistemul de ambalare crește eficiența hardware-ul, dar face imposibil de a lucra interactiv.

7.2.3 multiprogramming în sisteme de împărțire a timpului -

În sistemele de divizare a timpului, unul sau mai mulți utilizatori li se dă posibilitatea de a lucra interactiv simultan cu mai multe aplicatii. Pentru a face acest lucru, fiecare cerere trebuie să comunice periodic cu utilizatorul. Este evident că sistemele de prelucrare a lot nu poate oferi o astfel de oportunitate.

Pentru a pune în aplicare sisteme de separare de timp utilizate în mod obișnuit „preventiv“ multitasking în care sistemul de operare forțat periodic să suspende fiecare cerere, fără a aștepta să dea în mod voluntar de control al sistemului. În acest caz, fiecare aplicație primește periodic un cuantum de timp pentru a procesa, astfel încât fiecare dintre aceste aplicații pot menține un dialog cu utilizatorul.

În sistemele de partajare de timp, spre deosebire de sistemele de prelucrare a lot, utilizatorul continuă să comunice cu aplicarea sa de-a lungul timpului este procesat. Acest lucru vă permite să detecteze și să corecteze erorile, introduceți datele și a obține rezultate în timp real.

Fiecare utilizator, în acest caz, a oferit un terminal separat și aplicarea acestuia primește periodic felie de timp în care este procesat de către CPU. Deoarece fiecare sarcină alocat doar cuantum de timp CPU, nici o aplicație nu poate ocupa CPU pentru o lungă perioadă de timp, iar timpul de răspuns este acceptabil. Dacă felie de timp este suficient de mic, atunci performanța adecvată a sistemului informatic și o cantitate corespunzătoare de utilizatori simultani pentru toți utilizatorii simultan impresia de proprietate de monopol a unui sistem informatic.

Se înțelege că sistemul de divizare a timpului este semnificativ mai puțin eficace în ceea ce privește dispozitivele de utilizare a procesorului și de sistem decât sistemul de prelucrare a lot. Acest lucru se datorează faptului că, în orice moment dat nu rulează aplicația care încarcă sistemul cel mai eficient, iar cererea a cărei rândul său a venit să primească următoarea felie de timp. reducere suplimentară a performanțelor se datorează nevoii de mai frecvente comutarea procesorului la cererea privind aplicarea - necesită frecvente procese de comutare de context, care crește în mod semnificativ deasupra capului sistemului.

Pe de altă parte, utilizarea sistemelor de divizare a timpului crește eficiența sistemului informatic, în comparație cu un regim de monopol, deoarece fără degradare a utilizatorilor sistemului de performanță de serviciu servește simultan mai multe (uneori foarte mulți utilizatori).

7.2.4 multiprogramming în sistemele de timp real -

În timp real sistemele multiprogramming amestec este un set fix de programe pre-proiectate previzibile. Alegerea programului este efectuată de o întrerupere sau un obiect, în conformitate cu planul.

Capacitatea de hardware și sistemul de operare pentru a garanta răspunsul rapid depinde de viteza de comutare de la o sarcina la alta, care, la rândul său, depinde în mod substanțial de viteza de procesare a semnalului de întrerupere. În cazul în care are loc o întrerupere, procesorul folosind sondajul afla exact cine a cauzat întrerupere, răspunsul sistemului poate fi prea lent.

Designerii de sisteme în timp real nu au un scop de a utiliza hardware-ul cât mai eficient posibil. În schimb, proiectarea unor astfel de sisteme, procesorul este ales, de obicei, cu o marjă suficient de mare, astfel încât chiar și în cazul sistemului de vârf a face față sarcinilor lor.

Trebuie remarcat faptul că abordarea utilizate în mod obișnuit la proiectarea sistemelor „obișnuite“ de calculator bazate pe evaluarea medie de sarcină, intensitatea medie de aplicare, timpul mediu de așteptare, și deci nu este potrivit pentru sistemele de control - .. Sistemele în timp real. Aceste sisteme ar trebui să fie proiectate luând în considerare posibilitatea unei combinații dintre cele mai rele condiții în operațiune. Aceasta conduce la faptul că cele mai multe ori calculatorul de control al sistemului este inactiv, și, în consecință, sarcina medie de hardware este foarte mică. Acesta este prețul inevitabil să plătească pentru că, în cazul unei situații de urgență (de urgență), sistemul va funcționa corect, iar procesul tehnologic nu va fi deranjat. Dacă nu aderă la această abordare a sistemelor de control în timp real, noi Chernobyls inevitabile.