Processos, Fils i Planificació en Sistemes Operatius
Enviado por Programa Chuletas y clasificado en Informática y Telecomunicaciones
Escrito el en catalán con un tamaño de 5,04 KB
Fils d’execució (Threads)
El concepte de procés presentat fins ara inclou les dues característiques següents:
- Una unitat de propietat de recursos:
- espai d’adreces
- canals d’entrada/sortida
- fitxers
- ...
- Una unitat d'execució:
- El procés és un camí d'execució a través d’un o més programes.
- La seva execució es combina amb la d’altres processos.
Alguns sistemes operatius de desenvolupament recent consideren que les dues característiques són independents i, per tant, s’han de tractar de forma independent. Distingeixen:
- Fil o procés lleuger: unitat d’execució
- Procés o tasca: unitat de propietat de recursos
Procés Pesat (Tradicional)
Un procés pesat (tradicional) és un procés amb un sol fil.
- Cada procés conté un sol fil.
- Cada procés té el seu propi PC, pila, espai d’adreces, ...
- L’única relació entre els processos s’origina mitjançant les funcions d’intercomunicació.
Tasca (Procés Nou) i Fils
Una tasca (procés nou) és una unitat d’assignació de recursos.
- Pot tenir més d’un fil.
- Tots els fils comparteixen els mateixos recursos:
- espai d’adreces: variables globals, fitxers, processos fills, ...
- Cada fil es comporta com un miniprocés:
- s’executa seqüencialment, té el seu propi PC, pila i conjunt de registres
- Comparteix la CPU i existeix una planificació de fils
- Poden crear nous fils i crides al sistema
- Poden presentar els mateixos estats que un procés: execució, preparat, bloquejat
Conceptes de Planificació
Recursos Reutilitzables en Sèrie
- Escassetat de recursos: el nombre de recursos és inferior al nombre de processos que competeixen per ells.
- Recurs reutilitzable en sèrie: recurs que només pot ser assignat a un procés en cada instant.
- Exemples: impressores, CPU, ...
- Planificació de recursos: el sistema operatiu ha d’establir una política d’assignació dels recursos reutilitzables en sèrie als processos.
El Planificador
Element del sistema operatiu que determina a quin procés se li assigna un determinat recurs en cada instant de temps d’acord amb alguna política. Si el recurs a assignar és el processador es distingeixen:
- Planificador a llarg termini:
- Controla el grau de multiprogramació: conjunt de processos residents simultàniament en memòria i executables concurrentment.
- Selecciona processos de la cua on esperen els que s’han de carregar en memòria.
- Sols s’executa cada vegada que finalitza un procés.
- Planificador a curt termini:
- Selecciona un procés de la cua de preparats i l’assigna a la CPU.
- S’executa molt sovint: cada canvi de procés.
Processos Lligats a CPU o Lligats a E/S
- Un procés lligat a CPU és aquell que inverteix la major part del temps en la realització de càlculs i requereix poques operacions d’E/S.
- Un procés lligat a E/S inverteix més temps en operacions d’E/S que en càlculs a la CPU.
- Serà funció del planificador a llarg termini seleccionar una combinació adequada d’ambdós tipus de processos.
Criteris de Planificació
Per poder comparar els diferents algorismes de planificació caldrà establir uns criteris de planificació:
- Utilització del recurs: Temps de recurs ocupat / Temps total
- Productivitat o rendiment: Nombre de treballs finalitzats / Temps total
- Temps de retorn: temps d’execució d’un procés
- Instant de sortida - Instant d’entrada = T_CPU + T_E/S + T_CUA
- Temps d’espera: Temps a la cua de preparats
- Temps de resposta: Temps des de que es realitza una petició fins que s’inicia la resposta
- Equitat: Mesura del tractament igualitari dels processos. Inanició: grau extrem, no obté mai el recurs.
Optimització dels Criteris
Alguns dels criteris anteriors són contraposats, per tant, no podran optimitzar-se tots ells simultàniament. Cada sistema presenta les seves prioritats:
- Sistemes per lots: Maximitzar utilització i rendiment, minimitzar el temps de retorn i d’espera.
- Sistemes interactius: Proporcionar equitat i un temps de resposta raonable i predible.
La multiprogramació pretén millorar els criteris utilització i productivitat en front de l’execució seqüencial. Els algorismes de planificació tenen com a objectiu millorar alguns dels criteris anteriors en els sistemes multiprogramats.