La sincronizzazione.
Inviato: 10 lug 2012, 15:43
La sincronizzazione è la problematica dell'ordinamento temporale di operazioni.
Se tutte le operazioni sono eseguite in serie, il problema della sincronizzazione non sussiste. Tuttavia, spesso, per sfruttare meglio il sistema e quindi accelerare le elaborazioni, si ricorre al parallelismo, che consiste nell'iniziare più flussi di esecuzione contemporanei (vedi multithreading). Fintanto che le operazioni eseguite in parallelo usano parti distinte del sistema, non ci sono problemi, ma, quando due componenti hardware o software operano in parallelo sulla stessa parte del sistema, si può avere un conflitto.
Il codice che può essere eseguito solo da un processo alla volta (perché contiene dati condivisi, accesso a risorse, ecc.) si chiama sezione critica.
Alcuni conflitti si possono risolvere semplicemente garantendo la mutua esclusione, cioè serializzando gli accessi, nel senso che il primo che deve operare nella parte comune la blocca, vi opera, e infine la sblocca, e il secondo, quando la trova bloccata, si ferma in attesa che sia sbloccata. La mutua esclusione è il tipo più semplice di sincronizzazione ed è realizzabile mediante monitor, lock o semafori.
Per evitare altri tipi di conflitti sono necessarie forme più complesse di sincronizzazione.
Bene.................
Ora,considerando che Milano è una metropoli e non un paesino di campagna,considerando che il flusso di motociclisti è indirizzato su corsie preferenziali proprio per evitare code diminuendo il tempo di percorrenza e riducendo drasticamente le emissioni nell'aria,considerando che la "scienza" della sincronizzazione è a disposizione dell'umanità già da diversi anni,e allora,stramaledetti pezzettini di merda che lavorate alla viabilità milanese, li volete sincronizzare sti cazzo di semafori oppure ci dobbiamo continuare a cuocere le palle sotto il sole?
Se tutte le operazioni sono eseguite in serie, il problema della sincronizzazione non sussiste. Tuttavia, spesso, per sfruttare meglio il sistema e quindi accelerare le elaborazioni, si ricorre al parallelismo, che consiste nell'iniziare più flussi di esecuzione contemporanei (vedi multithreading). Fintanto che le operazioni eseguite in parallelo usano parti distinte del sistema, non ci sono problemi, ma, quando due componenti hardware o software operano in parallelo sulla stessa parte del sistema, si può avere un conflitto.
Il codice che può essere eseguito solo da un processo alla volta (perché contiene dati condivisi, accesso a risorse, ecc.) si chiama sezione critica.
Alcuni conflitti si possono risolvere semplicemente garantendo la mutua esclusione, cioè serializzando gli accessi, nel senso che il primo che deve operare nella parte comune la blocca, vi opera, e infine la sblocca, e il secondo, quando la trova bloccata, si ferma in attesa che sia sbloccata. La mutua esclusione è il tipo più semplice di sincronizzazione ed è realizzabile mediante monitor, lock o semafori.
Per evitare altri tipi di conflitti sono necessarie forme più complesse di sincronizzazione.
Bene.................
Ora,considerando che Milano è una metropoli e non un paesino di campagna,considerando che il flusso di motociclisti è indirizzato su corsie preferenziali proprio per evitare code diminuendo il tempo di percorrenza e riducendo drasticamente le emissioni nell'aria,considerando che la "scienza" della sincronizzazione è a disposizione dell'umanità già da diversi anni,e allora,stramaledetti pezzettini di merda che lavorate alla viabilità milanese, li volete sincronizzare sti cazzo di semafori oppure ci dobbiamo continuare a cuocere le palle sotto il sole?