Sobes.tech
Junior — Middle

Come distribuisce il sistema operativo l'esecuzione di due processi avviati su un singolo core del processore?

sobes.tech AI

Risposta dell'AI

Il sistema operativo utilizza uno scheduler per distribuire il tempo della CPU tra più processi, anche se ha solo un core.

Il principio di base è il multitasking con divisione del tempo (time slicing). I processi ricevono un quantum di tempo (time slice), durante il quale vengono eseguiti. Al termine del quantum, lo scheduler mette in pausa il processo corrente e passa a un altro.

Questo avviene molto rapidamente (millisecondi), creando l'illusione di esecuzione simultanea.

In Go, oltre al sistema operativo, esiste uno scheduler proprio per le goroutine, che distribuisce l'esecuzione di thread leggeri (goroutine) all'interno di uno o più thread di sistema, ma a livello di processi questa è già una funzione del sistema operativo.