Processo (informatica): differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
informazioni errate Etichette: Annullato Modifica visuale |
Gac (discussione | contributi) 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 ===
|