1 / 59

PROCESSOS I FLUXOS D’EXECUCIÓ

PROCESSOS I FLUXOS D’EXECUCIÓ. Concepte de procés Definicions Característiques Representació dels processos pel S.O. Concepte de flux Definicions Característiques Beneficis de la seva utilització Relació entre procés i flux Estats i transició d’estats entre processos Model de 7 estats

minya
Télécharger la présentation

PROCESSOS I FLUXOS D’EXECUCIÓ

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. PROCESSOS I FLUXOS D’EXECUCIÓ • Concepte de procés • Definicions • Característiques • Representació dels processos pel S.O. • Concepte de flux • Definicions • Característiques • Beneficis de la seva utilització • Relació entre procés i flux • Estats i transició d’estats entre processos • Model de 7 estats • Diagrama d’estats de Unix

  2. Definicions de procés • Programa en execució. Unitat de planificació i despatx. • Unitat d’assignació de recursos proporcionada pel S.O. • Activitat elemental dins d’un sistema informàtic • Conjunt de recursos utilitzats en l’execució d’un programa i l’entorn creat pel S.O. per a protegir-lo d’accessos erronis produïts per l’execució del propi programa o d’altres processos executant-se

  3. Característiques • Són dinàmics • Els efectes d'un procés són independents de la velocitat • Són reproduïbles • Un procés pot implicar l'execució de més d'un programa • Els perifèrics poden considerar-se com a processadors especialitzats en executar un únic procés.

  4. - MP/MS assignada als proc. - atributs de protecció • disponible o assignat • estat op.en execució - localització, ... Taules SO • El S.O. genera i manté taules d’informació Memòria Dispositius Fitxers Imatge procés Processos P1 P1 P2 P3 ...... Pn

  5. Imatge d’un procés • Codi -> Instruccions • Dades -> Valors variables, ... • Pila -> Intercanvi informació (pas de paràmetres, ...) • PCB -> Informació sobre el procés Codi Dades Pila PCB

  6. Implementació dins el S.O. • Estructura de dades que conté tota la informació del procés: Bloc de Control de Procés (PCB). • Els PCB’s són llegits i modificats per quasi tots els mòduls del S.O. • El conjunt de tots els PCB’s defineix l’ESTAT GLOBAL DEL SISTEMA

  7. Identificador CPU-Registres PC Flags SP Estat Prioritat Inf. Planificació Succés @ següent PCB Comunicació Privilegis @ memòria PCB – Estructura. Context Hard Context Soft Dispositius E/S

  8. PCB/Descripció dels camps • Identificador: Id. Procés/ Id. Procés pare / Id. Usuari • CPU-Registres/PC/Flags/SP: • Registres del processador,Comptador del programa, Mode d’execució, Inhibició interrupcions,Resultats de les operacions, Apuntador a la Pila... • Estat: Estat del procés (En exec., Bloquejat,...) • Prioritat: Prioritat per a la planificació

  9. Inf. Planificació: Depèn de l’algorisme de planificació utilitzat • Succés: Identificador del succés pel que espera el procés • @ següent PCB : Apuntador al següent descriptor • Comunicació: Senyals, missatges... • Privilegis: Permisos, drets,... del procés • @ Memòria: Apuntadors al segment i/o Taula de pàgines que descriuen la memòria virtual assignada al procés • Dispositius E/S: Arxius i/o dispositius assignats / operacions pendents

  10. E/S Cua de llestos Cua d’espera per E/S Cua d’espera per E/S cpu E/S Cues d’espera. • El S.O. organitza els PCB en cues d’espera pel processador o pels dispositius d’E/S.

  11. Diferents visions de procés • Unitat més petita d’assignació de recursos • Unitat més petita per a ser despatxada o planificada. • Diferència entre els dos conceptes => Flux (Thread)

  12. Definició Flux • Codi executant-se en un processador virtual • Procés lleuger • Unitat de planificació i despatx

  13. Característiques • Cada procés pot tenir diversosfluxos al mateix temps • Existeixen diferents models de procés en el que es refereix a la quantitat de fluxos que aquest pot contenir • El S.O. pot oferir diversos processadors virtuals a un procés encara que només tingui un processador físic, i al revés

  14. Característiques P1 P2 P3 P1 3 Processos 1 Procés

  15. Característiques • Cadascun disposa de la seva pròpia pila, encara que tota la memòria del procés és accessible a tots els seus fluxos. • Els diferents fluxos d'un procés no són tant independents com els diferents processos, comparteixen: • l'espai d'adreces del procés • les variables globals SSOO: WNT, OS/2, MACH, Versió Sun de Unix

  16. Característiques FCB flux PCB Procés Fid  Pid  Variables locals  Espai virtual d’adreces  Estat  Variables globals  PC  Permisos/Drets  SP  Arxius oberts/Disp.E/S  Fluxos fills  Processos fills  CPU-Registres  Recursos comunicació:  Prioritat Senyals/Semàfors/Missatges...  Informació Planificació  PILA conté @ retorn de les rutines pendents

  17. Beneficis obtinguts • Es triga menys a crear un flux fill que un procés fill • Es triga menys en finalitzar un flux • Es triga menys en multiplexar la CPU entre dos fluxos d’un mateix procés • Multiprogramació a nivell de procés

  18. Estats i transició d’estats entre processos

  19. No execució nous CPU Model 2 estats • Estats: Execució/No Execució Execució No Execució

  20. Model 5 estats • Estats: Nou, llest, bloquejat, acabat, execució (no execució) Passar a execució admissió alliberar nou llest execució acabat Fi de termini (time out) succés Espera succés bloquejat

  21. Model 5 estats cua llestos alliberar Passar a execució admissió nous CPU Fi de termini (time out) succés Espera succés cua bloquejats ...

  22. Model de 7 estats nou Admet Suspèn Activa Assigna CPU Finalitza Llest suspès llest a M.P. exec fi Suspèn Temps excedit Ocurrència succés Espera succés Activa bloq suspès bloq a M.P. Suspèn

  23. Diagrama d’estats de UNIX interrupció, retorn d’interrupció En_execució usuari En_execució Expulsat nucli Zombie memòria suficient Adormit a Llest a memòria memòria fork() Creat memòria insuficient Llest suspès Adormit suspès

  24. Canvi de context/canvi de procés Espai del S.O. Espai d’usuari Canvi de context Px Canvi de mode - Salvar els registres de Px - R.A.I. - Escollir procés per a ser executat - Actualitzar les dades de Px - Restaurar registres del nou procés Py Canvi de context Canvi de mode Py

  25. Canvi de context/canvi de procés • Operacions: Planificar, despatxar. Planificador() { ordenar_cua_llestos(); retorna (id del primer proc. a la cua) } Despatxador() { Guardar entorn volàtil procés en el seu PCB. Recuperar entorn volàtil del primer procés llest. CPU comença a executar a la posició indicada pel PC. }

  26. Planificació del processador • 1. Conceptes bàsics sobre la gestió de la CPU. • 2. Objectius de la planificació • 3. Tipus de planificadors. Cues de planificació. • 4. Algorismes de planificació (Scheduling). • 5. Avaluació dels algorismes

  27. Conceptes básics • Planificador: Mòdul del S.O. Que té com a funció admetre treballs al sistema, decidir el següent procés a executar, ordenar la cua a un dispositiu. • Tot procés està compost per una seqüència més o menys llarga de cicles de CPU i/o E/S anomenats Ràfegues : {ciclecpu,ciclee/s,ciclecpu, ciclee/s,..., ciclecpu} • Per a poder planificar cal conèixer la llargaria d’aquestes ràfegues. El problema està en calcular-la si no s’en coneix el tamany a priori. • .

  28. Model de sistema: • Visió d’un procés com a successió de: • Ràfegues de CPU • El procés executa instruccions • Ràfegues d’E/S - El procés utilitza E/S o espera E/S El procés sempre acaba amb una ràfega de CPU (exit()) amb la que comunica al S.O. el seu acabament i li permet alliberar recursos.

  29. Tipus de processos: • Segons la utilització de recursos es poden classificar en: • Processos intensius en CPU • Poques ràfegues de CPU molt llargues. • P.e. càlculs numèrics. • Processos intensius en E/S - Moltes ràfegues de CPU molt curtes - P.e. Processos interactius.

  30. Funcions de la CPU dins el sistema • Execució de programes del sistema i tasques d’usuari • Inici de totes i cadascuna de les accions del sistema • Resposta a excepcions d’error • Resposta a demandes de programa • Resposta a interrupcions d’E/S

  31. Objectius planificació CPU • Justa • Maximitzar capacitat execució • Maximitzar n. d’usuaris interactius • Previsible • Minimitzar sobrecàrrega • Equilibrar ús recursos/temps resposta/utilització • Impedir la mort per inanició dels processos • Respectar les prioritats • Donar preferència a processos que mantenen recursos clau • Afavorir processos amb ‘bon’ comportament • Degradar-se suaument sota càrregues pesades

  32. Nivells de planificació • A llarg termini (alt nivell) • Decisió del proper treball que entra al sistema • Adequada per sistemes batch (decisió basada en necessitats de recursos) • Molt simple o inexistent en sistemes de temps compartit. • Freqüència d’execució del planificador de l’ordre de minuts. • A mig termini • Decisió pas de processos de MP a MS i viceversa (swapping) • Només en sistemes de temps compartit amb MV • Freqüència d’execució del planificador de l’ordre de segons. • Decideix sobre el grau de multiprogramació del sistema. • A curt termini (baix nivell) • Decideix a quin procés en estat de llest se li assigna la CPU • Freqüència d’execució del planificador de l’ordre de milisegons.

  33. Processos batch Processos finalitzats Planificador a curt plaç CPU Planificador a llarg plaç Cua llestos llestos a M.S. Bloquejats a M.S. Processos interactius E/S Cua E/S Planificador a mig plaç Esquema general de les cues del sistema

  34. CPU (nul) P3 P2 P1 Procés nul • Només executa cicles de no-operació. • Regularitza el funcionament del planificador de baix nivell (scheduler). • Evita les cues buides. • Sempre llest, prioritat mínima.

  35. PARÀMETRES DE PLANIFICACIÓ I RENDIMENT • Utilització de la CPU: 100 (Tútil) / (Ttotal)= 100 (Ttotal -  Tcp) /(Ttotal) • Productivitat: Mesura el treball realitzat per la CPU. Total procs executats / T utilitzat en la seva execució • Temps de retorn: Instant final – Instant inicial

  36. Temps d’espera:  Temps espera a cua de llestos • Temps de resposta: Temps que transcorre des de que es crida un procés fins que produeix la primera resposta. • Temps de canvi de context / canvi de procés • Índex de penalització Mesura la fracció de temps de processador que s’ha assignat a un procés. (T retorn ) / ( T execució )

  37. Algorismes de planificació

  38. Requisits dels algorismes • Imparcialitat • Eficiència: utilització adequada de la CPU • Minimitzar el temps de resposta • Minimitzar el temps de retorn • Minimitzar l’índex de penalització • Maximitzar la productivitat Optimització de la mitjana, la variança (sist. interactius), o dels valors màxims i mínims.

  39. Classificació dels algorismes • No- apropiatius • Un cop s’assigna la CPU a un proc, no se li retira fins el seu acabament o fins que fa una demanda d’E/S. • Els processos llargs fan esperar els curts. Penalitza els temps mitjos d’espera. • Apropiatius • El SO pot retirar la CPU a un procés quan calgui. • Necessitat d’un temporitzador per informar de la finalització del quantum assignat. • El freqüent intercanvi de context pot causar sobrecàrrega. • Útil per a sistemes de temps compartit, sistemes interactius, ...

  40. Classificació dels algorismes • Per Prioritats Les prioritats poden ser assignades per l’usuari, pel programador, per l’administrador del sistema o bé automàticament pel propi sistema • Prioritats estàtiques • No canvien • Baixa sobrecàrrega. • Implementació fàcil. • No s’ajusten a canvis de l’entorn. • Prioritats dinàmiques • La prioritat inicial s’adapta al valor més apropiat en cada moment. • Implementació més complicada • Més sobrecàrrega.

  41. ... ... (nul) ... P3 Pc P3 Pz P2 Py Pb P2 P1 Pa Px P1 Cues de prioritat cues llestos CPU cua bloquejats

  42. FCFS (FIRST COME FIRST SERVED) • Política no apropiativa • Els processos són atesos per ordre d’arribada • Fàcil d’implementar • Proporciona un rendiment baix, depèn de l’ordre d’arribada dels processos • Pot provocar l’efecte caravana: • els processos orientats a CPU endarrereixen els altres provocant una mala utilització dels recursos del sistema • Temps d’espera en el sistema, del procés n-ssim: WFCFS = Wo + tempsexecdels (n-1) proc. Anteriors Wo -> temps residual procés prèviament carregat en CPU

  43. FCFS- Efecte caravana • Suposem un procés intensiu CPU i molts processos intensius E/S • El procés intensiu en CPU reté molt temps la CPU i causa inactivitat en els dispositius E/S • Quan el procés intensiu CPU la allibera, els processos intensius E/S s’executen ràpidament i passen a les cues de bloqueig E/S. La CPU resta inactiva. • Quan el procés intensiu CPU torna a ser executat, els treballs intensius E/S hauran d’esperar en la cua de llestos => efecte caravana

  44. FCFS- Avaluació de prestacions • Utilització CPU: • Dolenta, l'efecte caravana porta a un mal aprofitament de la CPU amb períodes llargs d'inactivitat • Productivitat: • Baixa, pel mal aprofitament de la CPU • Temps retorn/espera: • No minimitza, doncs els temps depenen de l'ordre d'arribada

  45. SJF (Shortest Job First) • Política no apropiativa (també versió apropiativa) • Intenta afavorir els treballs més curts • Associa a cada procés la durada de la següent ràfega de CPU • Quan la CPU queda lliure s’assigna al procés que tingui la següent ràfega més curta. • Si dos o més processos tenen la mateixa ràfega s’utilitza FCFS

  46. SJF: Temps d’espera • Temps d’espera en el sistema, del procés n-ssim: W0 -> temps residual procés prèviament carregat en CPU t -> durada ràfega de CPU del procés del què calculem el temps d’espera • Dificultat: Conèixer la longitud de la següent ràfega de CPU WSJF =W0 + t servei de P i (ràf. <= t) a la cua + tservei de Pj (ràf. < t) que arribin més tard a la cua

  47. SJF • Funciona bé en la planificació a llarg termini • En la planificació a curt termini s’utilitza la següent formula per a fer una estimació • tn: longitud de la n-èssima ràfega de CPU • n+1: valor previst de la següent ràfega de CPU • n: valor previst de la ràfega n-èssima de CPU (història passada) • : controla el pes relatiu de la història recent i anterior • (0<=  <=1) n+1=  tn+ (1- )  n

  48. Problema: Bloqueig indefinit. • Solució: Tècnica d'envelliment(AGING): • Incrementar gradualment la prioritat dels processos que esperen en el sistema durant molt temps. • Assignar prioritats dinàmiques en funció de la durada de la ràfega i del temps d’espera a la cua de llestos. Prioritat = (t espera + RàfegaCPU)/ RàfegaCPU

  49. SRT (SJF Apropiatiu) • Permet revocar l’assignació de la CPU d’un procés en execució. • Si un nou treball entra, aquest pot tenir la següent ràf.CPU més curta que el temps restant del procés en execució  La CPU s’assigna al nou procés.

More Related