Processo (informatica): differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
informazioni errate
m Annullata la modifica di 151.53.185.211 (discussione), riportata alla versione precedente di Torsolo
Etichetta: Rollback
Riga 61:
 
Se il sistema operativo non gestisce i thread, le suddette informazioni fanno parte dello stato del processo.
 
=== Stati di un processo ===
[[File:Stati di un processo.png|thumb|Stati di un processo]]
 
In un sistema operativo [[multitasking]], ci sono più processi contemporaneamente in esecuzione. Di questi, al massimo un numero pari al numero di [[CPU|processori]] può avere effettivamente il controllo di un processore in un dato istante. I diversi processi possono quindi utilizzare il processore per un periodo limitato di tempo cioè a divisione di tempo, per questo motivo i processi vengono interrotti, messi in pausa e richiamati secondo i noti algoritmi di [[schedulazione]], dando l'impressione all'utente di un processamento parallelo di questi.
 
Gli stati in cui un processo si può trovare sono:
 
* ''esecuzione'' (''running''): il processo ha il controllo di un processore;
* ''pronto'' (''ready''): il processo è pronto ad essere eseguito, ed è in attesa che lo [[scheduler]] lo metta in esecuzione;
* ''in attesa'' o ''sospeso'' o ''bloccato'' (''suspended'' o ''blocked''): il processo ha eseguito una [[chiamata di sistema]] ed è fermo in attesa del risultato;
 
Con [[commutazione di contesto]] (''Context switch'') si indica il meccanismo tramite il quale un processo in esecuzione viene fermato (perché ha eseguito una [[chiamata di sistema]] o perché lo scheduler ha deciso di eseguire un altro processo), e un altro pronto viene messo in esecuzione.
 
=== Genesi di processi e thread ===