Dispatcher

Da Wikipedia, l'enciclopedia libera.

In informatica il dispatcher è un modulo del sistema operativo che passa effettivamente il controllo della CPU ai processi scelti dallo scheduler a breve termine. Poiché si attiva a ogni context switch, il dispatcher dovrebbe essere quanto più rapido possibile. Il tempo richiesto dal dispatcher per fermare un processo e avviare l'esecuzione di un altro è noto come latenza di dispatch.

Nei server WEB il dispatcher è il thread che legge dalla rete le richieste da elaborare in arrivo. Dopo averle esaminate, sceglie un thread lavoratore inattivo (ad esempio uno che è bloccato) e gli consegna la richiesta. A questo punto, il dispatcher sveglia il lavoratore inattivo spostandolo dallo stato bloccato (blocked) allo stato pronto (ready). Quando il thread lavoratore si sveglia, controlla se la richiesta può essere soddisfatta da una pagina WEB in cache. Se non ci riesce, inizia un'operazione di read per ottenere una pagina dal disco e si blocca finché l'operazione non è completata. La CPU, in questo lasso di tempo, non rimane ferma: quando il thread lavoratore si blocca sceglie un altro processo da eseguire. Ad esempio può scegliere il thread dispatcher, per acquisire altro lavoro, oppure un altro thread lavoratore che è pronto ad essere eseguito.

Informatica Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica