Deadlock, starvation e pre-emption

Nell’articolo Informatica e scelte di vita si vede la classe (intesa come bravura) del professore universitario.

Alfonso Fuggetta spiega cos’è il Deadlock, la Starvation e il Preemption, ma lo fa pensando di aver di fronte un pubblico non addetto ai lavori.

L’articolo è molto bello, perchè la spiegazione viene usata per modellare anche le situazioni difficili della vita.

Quando ho letto il post, ho pensato: “Anch’io voglio provarci. Anch’io voglio spiegare deadlock, starvation e preemption usando come paragone il gioco del ruba-bandiera.”

Iniziamo con deadlock:

Avete presente il gioco ruba-bandiera? Sì, quel gioco che abbiamo giocato tutti quando eravamo bambini.

Ebbene, può capitare, una volta chiamati a rubar bandiera che si aspetti la mossa dell’avversario: si sta con una mano vicino al fazzoletto-bandiera e con l’altra mano intorno alla spalla del nostro avversario, senza toccarlo. Nessuno dei due si azzarda a rubare e scappare con la bandiera. E’ troppo rischioso.

Ecco che abbiamo una situazione di deadlock che significa incaglio o punto morto.

Poniamo il caso che chi debba chiamare i concorrenti a rubar bandiera si dimentichi sempre di alcuni numeri. Le persone non chiamate rimangono scontente. Se sono timide come me quand’ero piccolo non protestano.
Ecco che abbiamo una situazione di starvation che significa fame o inedia .

Supponiamo ora che nel primo caso di “deadlock”, passi troppo tempo e allora, l’arbitro decida di rimandare alla linea di partenza i due concorrenti.

Ecco che siamo di fronte ad un’azione di pre-emption che significa prevenire, il gioco continua senza aspettare l’indecisione dei due concorrenti.

Supponiamo che nel secondo caso di “starvation” vengano chiamati i numero dei giocatori dimenticati.

Ecco che siamo di fronte ad un’altra azione di di pre-emption, facciamo partecipare tutti al gioco, non solo chi si mette in mostra.

Fine della spiegazione.

Forse Alfonso è più bravo …

2 risposte a Deadlock, starvation e pre-emption

  1. michele scrive:

    L’esempio è calzante e funziona.
    Spesso i libri di testo per spiegare lo scheduling di processi concorrenti fanno esempi relativi alla vita reale; pensa al problema dei Dining philosopers. Anche agli addetti ai lavori spessono servono esempi ‘concreti’ per comprendere il funzionamento di certi problemi/algoritmi.

  2. Gianluca scrive:

    @Michele: grazie del tuo feedback. Devo essere sincero: ho ancora dei dubbi se sia corretto il paragone … ma a me piace perchè mi piace anche il gioco e il ricordo del gioco.
    Sono contento anche che tu abbia rifatto vivere il tuo blog.

Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

%d blogger cliccano Mi Piace per questo: