1 / 17

PARTEA II SISTEME DE OPERARE

Ştefan Stăncescu. PARTEA II SISTEME DE OPERARE. CURSUL 9 GESTIUNE DE PROCESE. GESTIUNE DE PROCESE. blocat - stare complet inactiva, fara time share stare proces memorata, gata de a fi inclusa in time share activ - stare activa in slot time share

callum-gill
Download Presentation

PARTEA II SISTEME DE OPERARE

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Ştefan Stăncescu PARTEA IISISTEME DE OPERARE CURSUL 9 GESTIUNE DE PROCESE

  2. GESTIUNE DE PROCESE blocat - stare complet inactiva, fara time share stare proces memorata, gata de a fi inclusa in time share activ - stare activa in slot time share gata - stare inactiva dar pregatita pentru a primi slot in time share

  3. GESTIUNE DE PROCESE • Gestiune de procese: • Politici de alocare slot time share • Dispecer de procese (Dispatcher): • proces prioritar al SO care se ocupa de gestiune de procese “aplicatii” • arbitrarea intre procese in alocarea de time slot

  4. GESTIUNE DE PROCESE • Criterii de apreciere algoritmi de dispecerizare: • fair play • orice proces ia o parte corespunzatoare de CPU • eficienta • CPU ocupat tot timpul • timp de reactie • utilizatorii interactivi sa fie prompt serviti • timp de prelucrare • utilizatorii care cer iesiri sa fie serviti rapid • Productivitate • cresterea numarului de lucrari / unitatea de timp.

  5. GESTIUNE DE PROCESE •  Elemente specifice contradictorii ale proceselor, • pentru care dispecerizarea nu poate fi abordata standard: • orice proces are evolutie unica si imprevizibila • (chiar acelasi proces are evolutie diferita • la fiecare reluare de procesare cu alte date) • fiecare proces utilizeaza imprevizibil resurse • in cantitate (numar res.) si calitate (tip res.) • pentru fiecare proces nu se poate estima anterior rularii • aparitia si durata unei autoblocari.

  6. GESTIUNE DE PROCESE • Principala problema: blocajul excesiv pe un proces. • Combatere simpla: ceas 50 Hz (sau la alte intervale) • - la fiecare interval - examineaza stare procese • - decizie pentrucontinuare sau terminareproces crt. • Variante dispecerizare procese: • run to completion - ruleaza tot (batch processing) • unul ia totul si-si controeaza propria evolutie • (cooperative scheduling - fiecare cedeaza) • preemtive seduling - unproces influenteazaevolutia celorlalte - cu dialog intre procese (ex: supervisor). • RT seduling – evolutii de durate autoimpuse, anterior cunoscute

  7. GESTIUNE DE PROCESE – Agoritmi de planficare • Round Robin scheduling • (planificare circulara) • vechi, simplu, fairplay, des utilizat • regula: repartitie democratica a resursei de timp UC: • - orice proces ruleaza acleasi interval de timp – (cuanta comuna, egala pentru orice proces) • - la (a)sfarsit de cuanta sau (b)daca s-a blocat mai inainte sau daca (c)s-a sfarsit mai inainte) procesul • - trece in coada “ready (gata)” si • se alege urmatorul proces coada “ready (gata)”

  8. GESTIUNE DE PROCESE – Agoritmi de planficare • Round Robin scheduling • Dezavantaj: alegerea dimensiuni cuantei unice: • - 5ms: se pierde timp UC (1ms) cu comutare fiecare proces • - 500ms: timp de raspuns mare la activitati interactive • (500ms x 10 procese = 5 s timp de raspuns consola) • Compromisul (100ms) e dificil - inacceptabil pentru toti

  9. GESTIUNE DE PROCESE – Agoritmi de planficare • Priority scheduling (planificare cu prioritati) • orice proces are un nivel de prioritate, procesul cu prioritate maxima ruleaza primul(ar rula nedefinit unul) • =>prioritatea procesului on line se decrementeaza • la CLOCK IT; cand prioritatea lui scade suficient • se alege alt proces. • Prioritatile atribuite proceselor se stabilesc: • -fix – grade:general 100, colonel 90, maior 80, capitan 70 etc. • - cost:100lei/h -100;50lei/h -50 ;1leu/h - 1; etc. • -dinamic – prioritate alocata in functie de situatie curenta cerere/oferta • se va aloca prioritate marita la • procese ce solicita mult resurse neocupate • procese care solicita urgent acces (mouse fereastra)

  10. GESTIUNE DE PROCESE – Agoritmi de planficare • Multiple queuing scheduling (planificare cu clase de prioritati) • De ex. m m cozi round robin

  11. GESTIUNE DE PROCESE – Agoritmi de planficare • Multiple queuing scheduling (planificare cu cozi de sloturi 2^^n) • Procesul cere 500 cuante • Cozi: 1,2,4,8,16,32,64,128 • Round Robin pe 1 da 100 comutari (500ms UC pierdute) • Rulare pe m m cozi cu sloturi 2^^n • =>1=>2=>4=>8=>16=>32=>64 =>>> 7 comutari • (7ms UC pierdute)

  12. GESTIUNE DE PROCESE – Agoritmi de planficare • Short Job First scheduling (planificare cu tratarea prioritara a lucrarilor mici) • Timp de rulare necesar in ordine ABCD:8444 • ABCD => 8+(8)+4+(8+4)+4+(8+4+4)+4 =56 • Total 56:4=14 pentru fiecare in medie. • CDBA=> 4+(4)+4+(4+4)+4+(4+4+4)+4=44 • Total 44:4=11 pentru fiecare in medie. • Se cere cunoasterea anterioara a timpului de rulare • (aplicatii RT – algoritmi de RT)

  13. GESTIUNE DE PROCESE – Agoritmi de planficare • Short Job First scheduling – OK • dar = > trebuie aflata duratei rularii DR fiecarui proces • Pentru procese repetitive – o variabila associata fiecarui proces cu DR • actualizarea DR – “aging” formula • DRactualizat = a * DRprecedent + (1-a) DRmasurat • La fiecare rulare DRactualizat => DRprecedent in rularea ulterioara • a > 1/2 => schimbare rapida => liberalism, • a => 0 instabilitate • a < 1/2 => schimbare lenta => conservatorism, • a => 1 inadaptare

  14. GESTIUNE DE PROCESE – Agoritmi de planficare • Planificare garntata • respectarea promisiunilor de buna rulare pentru fiecare proces • de ex: fiecare dintre n procese sa obtina DRtotal =1/n din timpul total • => fiecare proces are o variabila care sa contabilizeze DRconsumat • DRconsumat / DRtotal = 1 / prioritate la urmatoarea rulare • Planificare aleatoare cu tichete loterie • Se acorda aleator cuante, (simplu, fara “infometare”) • probabilitatea acordarii - proportionala cu “importanta” procesului • “importanta”  nr. tichete - poate fi dirijata de SO • fire in cooperare pot ceda/primi tichete • client blocat pe un serviciu cedeaza tichete => server serviciu solicitat

  15. GESTIUNE DE PROCESE – Agoritmi de planficare • Planificare pentru aplicatii in timp real - RT • microcalculatoare in aplicatii - sisteme dedicate – embedded systems • cerinte RT pentru procese – termen de incheiere impus – deadline • Hard RT cerinte absolute • Soft RT cerinte recomandate • Procese cu DR cunoscute, solicitate la evenimente • La evenimente a/periodice aparute in interval mic – planificare • Planificarea periodica • Formula Liu-Layland pentru planifiabilitate • (n procese, DRi= DR a procesului i, care se declanseaza cu perioada Pi ) • ` ∑mi=1 DRi / Pi ≤ 1

  16. GESTIUNE DE PROCESE – Agoritmi de planficare • Planificare pentru aplicatii in timp real – RT • Exemplu: • RT periodic (ax in rotatie cu sensori si actionari) • Pi=50ms • 5 procese cu DRi=25ms fiecare • ` ∑mi=1 DRi / Pi = 5 * 25 / 50 = 2,5 > 1 • Necesare 3 procesoare (sau cresterea ceas de > 2,5 ori)

  17. GESTIUNE DE PROCESE – Agoritmi de planficare • Planificare fire de executie • Mecanism de planificare in nucleu (tactica), cu • parametri stabiliti de proces in user mode (strategia) • Lista de fire proces in user: • nucleul nu poate impiedica politica unui proces in cuanta acestuia => planificarea nu se poate intercala firele la 2 procese diferite • daca fiecare proces forteaza politica in proces • Lista de fire proces in nucleu: • nucleul poate influenta intercalarea de fire de procese diferite - fair • Lista in nucleu – comutare lenta (salvari stari, restaurari procese) • Lista in proces - comutare rapida (fara salvari/restaurari masive) si cu informatii intre fire care pot dirija preferintele si prioritatile

More Related