Ogni processo è inserito in una coda di processi, composta da tutti i processi del sistema. I processi presenti nella memoria centrale, che sono pronti e attendono di essere eseguiti si trovano in una lista detta coda dei processi pronti (ready queue). Questa coda generalmente si memorizza come una lista concatenata: un’ intestazione della coda pronti contiene i puntatori al primo e all’ ultimo PCB dell’ elenco, e ciascun PCB è esteso con un campo puntatore che indica il successivo processo contenuto nella coda dei processi pronti. Il sistema operativo ha anche altre code. L’ elenco dei processi che attendono la disponibilità di un particolare dispositivo di I/O si chiama coda del dispositivo. Ogni dispositivo ha la sua coda.
I processi, durante l’esecuzione, migrano da una coda all’altra, ed è lo scheduler sceglie quali processi passano da una coda all’altra. Una comune rappresentazione utile alla discussione dello scheduling dei processi è data dal seguente diagramma di accodamento:
Un nuovo processo si colloca nella coda dei processi pronti, dove attende finchè non è selezionato per essere eseguito. Una volta che il processo è assegnato alla CPU ed è nella fase di esecuzione si può verificare uno dei seguenti eventi:
il processo può emettere una richiesta di I/O e quindi essere inserito in una coda di I/O.
il processo può creare un nuovo processo e attenderne la terminazione
il processo può essere rimosso dalla CPU a causa di un interrupt ed essere reinserito nella coda dei processi pronti
Nei primi due casi, al completamento della richiesta di I/O o al termine del processo figlio, il processo passa dallo stato di attesa allo stato pronto ed nuovamente inserito nella coda dei processi pronti.
Tutto quanto riportato in questa pagina è a puro scopo informativo personale. Se non ti trovi in accordo con quanto riportato nella pagina, vuoi fare delle precisazioni, vuoi fare delle aggiunte o hai delle proposte e dei consigli da dare, puoi farlo mandando un email. Ogni indicazione è fondamentale per la continua crescita del sito.