Procés (informàtica)
De Viquipèdia
Un proces (del llatí procés) és un conjunt d'activitates o esdeveniments (coordinats o organitzats) que es realizen o succeeixen(alternativa o simultàniament) amb un fi determinat. Aquest terme té significats diferentes segons la branca de la ciència o la técnica en que s'utilitzi.
En informàtica, un procés és una instància d'una aplicació que està essent executada per una computadora. Cal tenir en compte, que una aplicació o programa és solament una col·leció passiva d'instruccions que no esdevenen un procés fins que el programa és executat. Un mateix programa pot executar múltiples processos: per exemple, una aplicació que utilitza múltiples finestres segurament utilitza més d'un procés.
Un procés és el conjunt de recursos necessari per executar un programa. Per tant, des del punt de vista del sistema operatiu és un recurs més que ha gestionar. El concepte de procés és compartit entre tots els sistemes operatius moderns, però els detalls de la seva definició varien entre diferents sistemes operatius.
Els processos són creats i destruïts per el sistema operatiu, així com també aquest s'ha de fer càrreg de la comunicació entre processos, però ho fa a petició d'altres processos.El mecanisme per el qual un procés crea un altre procés es denomina , bifurcació(fork). ELs nous processos poden ser independents i no compartir l'espai de memòria amb el procés que l'ha creat.
Els primers sistemes informàtics eren monoprocés, és a dir, només es podia executar un procés alhora, i fins que aquest procés no acabava no es podia atendre a cap altre procés. En aquest tipus de sistemes, la planificació es duia a terme utilitzant cues d'execució. Actualment, la majoria de sistemes operatius moderns són multiprocés, es a dir, permetent executar múltiples aplicacions al mateix temps. Aquesta característica també es coneguda com a concurrència de processos o multiprogramació.
La concurrència real de processos pot esdevenir de 2 formes diferents:
- Sistemes operatius multitasca: Els processos aparentment s'executen al mateix temps tot i que realment, en un instant concret de temps, només hi ha un procés que estigui utilitzant la CPU. Un ordinador amb un sol processador executa les instruccions una a una, però pot intercalar diferents processos utilitzant una multiplexació en temps (Time-sharing), procés que a certes velocitats produeix la "il·lusió" que el sistema treballa amb diferents processos al mateix temps.
- Sistemes operatius multiprocés': l'única forma de tenir un sistema multiprocés real és tenir més d'una CPU. Els sistemes operatius que suporten treballar amb més d'una CPU a l'hora s'anomenen multiprocés. Aquests sistemes també permeten al mateix temps la concurrència de processos en un mateix processador.
Taula de continguts |
[edita] Components d'un procés
L'encarregat de gestionar els processos és el sistema operatiu. Tot i que hi ha diferències entre diferents sistemes operatius, en general, un procés és el conjunt format per:
- Les instruccions d'un programa que han de ser executades per un microprocessador
- L'estat d'execució del procés en un moment donat (valors del registres de la CPU relacionats amb el programa)
- Espai de memòria del procés on s'emmagatzemen les dades amb les que treballa el procés.
- Informació extra que permet al sistema operatiu gestionar el procés. Aquesta informació és coneguda com la metainformació del procés.
El sistema operatiu s'encarrega de la creació, execució i eliminació dels processos.
[edita] Bloc de control de processos
El BCP és l'estructura de dades on el sistema operatiu emmagatzema tota la informació que necessita conèixer sobre un procés.
[edita] Estats d'un procés
Per representar el cicle de vida d'un procés s'acostuma a utilitzar un diagrama d'estats. L'estat en què esta un procés en un instant de temps es guarda com una dada més al BCP del procés.
L'estat del procés depèn en gran part de la seva relació amb el microprocessador. Tots els sistemes operatius tenen un component anomenat Planificador (de l'anglès scheduler) que és l'encarregat de decidir quin procés s'executa en cada moment. També esta clar que s'haurà d'implementar una cua on emmagatzemar temporalment els processos que esta a l'espera de ser executats.
Existeixen diferents models d'estats que representen diferents formes d'interpretar el cicle de vida d'un procés i el seu diagrama d'estats.
Diagrama de formació d'un procés
Es tracta de la utilització de dos arxius, un objecte executable i una biblioteca del sistema, que després es col•loquen en la imatge del procés dins de la memòria RAM i posteriorment també es donen d’alta dins de la taula de processos, Bloc de control del procés.
[edita] Fils d'execució
Un fil d'execució és una característica dels sistemes operatius moderns que permet que una aplicació realitzi varies tasques de forma concurrent utilitzant fils d'execució.