Processo (informatica)
Questo articolo è uno stub, il che vuol dire che necessita di essere ampliato e corretto, secondo i canoni di Wikipedia. Se puoi, rendi anche questo articolo serio e dettagliato come dev'essere un articolo di enciclopedia, grazie.In Informatica per processo si intende, intuitivamente, un programma in esecuzione. Non esiste una definizione rigorosa di processo. Un programma è costituito dal codice oggetto generato dalla compilazione del codice sorgente. Esso è un'entità statica, che rimane immutata. Un processo, invece, è un'entità dinamica, che dipende dai dati che vengono elaborati, dalle operazioni eseguite ecc. Il processo, quindi, oltre al codice oggetto è l'insieme di tutte le informazioni necessarie a definirne lo stato, come il programm counter, lo stack, il contenuto dei registri del processore, i file e le periferiche in uso.
Un processo può generare, attraverso apposite chiamate al Sistema operativo, un processo figlio. Capita spesso, quindi, che un solo programma dia l'avvio a più processi.
La creazione di un processo figlio può essere bloccante, ovvero il processo padre blocca la propria esecuzione fino a che non riceve dal Sistema operativo un segnale che lo informa che il processo filgio è terminato, indicando il codice d'uscita, in genere un valore numerico, necessario per verificare se il processo figlio ha concluso l'esecuzione correttamente oppure risalire all'errore generato.
Altrimenti il processo padre può proseguire la propria esecuzione concorrentemente con il figlio. Questo può comportare, in architetture multiprocessore (SMP), miglioramenti prestazionali grazie alll'esecuzione contemporanea dei processi.