Nelle memorizzazioni ed in modo particolare durante le trasmissioni i messaggi binari sono soggetti a perturbazioni che li modificano rendendoli inutilizzabili. Infatti un messaggio normale, ad esempio stampato su un foglio di carta, si capisce se è rovinato perché è sbiadito o macchiato. Nei messaggi binari non si avverte l'errore perché i bit semplicemente si invertono. Ad esempio 1101 diventa 1001 che è sempre composto di bit ed appare del tutto normale. Dunque gli esperti hanno dovuto inventare delle codifiche per segnalare la presenza di un errore.

La tecnica più nota è quella del bit di parità , cioè si aggiunge un bit in partenza in modo che i bit 1 siano pari. Se il numero di bit 1 non è più pari all'arrivo si capisce che è avvenuto un errore. Ad esempio al messaggio sopra citato si aggiunge 1 in coda e diventa 11011

bit 1

bit 2

bit 3

bit 4

bit 5

1

1

0

1

1

1

0

0

1

1

 

Supponiamo che all'arrivo si abbia 10011; si coglie immediatamente che c'è stato un guasto perché gli uno sono diventati dispari.

Tale soluzione, nota come controllo di parità, non fa capire però quale bit si è invertito durante la trasmissione e per ovviare al danno si rende necessario un secondo invio del dato. Quel che è peggio se i bit invertiti sono due o quattro o sei ecc, il controllo di parità non riesce ad evidenziarli perché la parità degli uno non viene influenzata. Gli esperti hanno dovuto trovare metodi più potenti per riconoscere e correggere gli errori all'arrivo, i quali sono noti come codifiche a correzione d'errore. La più famosa è quella di Hamming.

Ce ne sono diverse varianti della codifica di Hamming che qui non possiamo trattare. Per capire il principio di funzionamento facciamo un esempio. Ai quattro bit già citati si aggiungono non uno ma tre bit di parità. Ogni bit di parità ne controlla tre secondo il seguente schema

bit 1

bit 2

bit 3

bit 4

bit 5

bit 6

bit 7

*

*

*


 

*


 


 


 

*

*

*


 

*


 

*

*


 

*


 


 

*

Cioè i primi tre bit sono controllati dal primo bit di parità, il secondo, il terzo ed il quarto sono controllati dal secondo bit di parità. Mentre il settimo bit (che è il terzo bit di parità) controlla il primo, il secondo ed il quarto bit del messaggio.

Nella prima riga della seguente tabella riportiamo un codice di Hamming corretto (infatti i bit 5,6 e 7 collimano con i rispettivi gruppi di bit). Nella seconda riga riportiamo una stringa danneggiata. Il bit 6 conferma che la parità è a posto, invece i bit 5 e 7 mettono in luce una mancata parità. I bit 5 e 7 controllano in comune i bit 1 e 2, dunque uno dei due è difettoso. Quale?
Sicuramente il primo poiché il bit 6 assicura che il secondo bit è corretto. 

bit 1

bit 2

bit 3

bit 4

bit 5

bit 6

bit 7

1

1

0

1

0

0

1

0

1

0

1

0

0

1

Una volta individuato, il bit difettoso viene meccanicamente corretto grazie alla puntuale precisione della codifica di Hamming.

 

 

anno 2007

140. Quale codifica ha inventato Hamming?

141.Ho sentito parlare del dump di sistema come di una tecnica per specialisti.

La parola dump in inglese significa 'discarica ' ed infatti il cosidetto dump della memoria è il frutto della completa 'discarica' di tutti i dati del sistema. In pratica è un lungo tabulato che riporta tutti i bit della memoria centrale del computer ed inoltre tutti i dati contenuti nei registri di sistema, nei registri dell'utente, nelle interfacce con i canali ed in tutti i supporti gestiti centralmente. Insomma è la completa foto della macchina scattata in un certo istante.

In teoria il dump si può ottenere in qualunque momento, ma di regola viene creato automaticamente all'atto di un errore software oppure hardware. E' infatti uno strumento prezioso per indagare l'origine degli errori, è riservato agli esperti e non è certamente di uso abituale.

Poiché con certezza la 'foto' della macchina deve scattare al momento giusto, gli esperti provvedono a richiederla in anticipo. Quando si prefigurano gravi malfunzionamenti si chiede preventivamente che possa scattare il dump.

 

anno 2007

Il formato zip è frutto di uno speciale algoritmo di compressione (su questo tema vedi risposta 76). 

Senza tornare troppo indietro nel tempo, possiamo ricordare che per tutti gli anni 80 un solo metodo di compressione, denominato arc e creato dalla S.E.A., dominava il mercato. I programmi di compressione dovevano essere acquistati, pertanto non tutti potevano comprimere un file con arc.
Phil J. Katz nel 1986 inventò il formato zip e pensò bene di non brevettare il suo algoritmo. Permise che tutti i programmatori lo potessero utilizzare nelle proprie applicazioni facilitando in questo modo la diffusione della sua scoperta. Katz fondò la società Pkware e questa cominciò a produrre le versioni commerciali dei programmi Pkzip e Pkunzip creati da Katz. Egli però non potè godere a lungo del frutto del suo lavoro: nel 2000, a soli 38 anni, Katz morì per le conseguenze della sua dedizione all’alcool.

Oggi si può ottenere un formato zip con WinZip, PkWare ed altri programmi shareware.

 

 

 

anno 2007

142. Chi ha creato il formato ZIP?

143. Quando un sistema è fault tolerant?

Il sistema resistente ai guasti o fault tolerant  è capace di operare anche in presenza di un guasto. Un esempio classico è dato dalla rete di comunicazione. Supponiamo che la tratta A e B sia interrotta. Il router A indirizza i messaggi verso C, quindi il messaggio torna verso B e la rete continua a funzionare regolarmente nonostante la grave interruzione.

 

 

Le tecniche per rendere un sistema resistente ai guasti sono moltissime. In generale si può dire che adottano componenti ridondanti, o comunque diversificate in modo che possa intervenire un elemento alternativo per ovviare al difetto.

 

 

anno 2007

L'affidabilità dei sistemi è un tema molto ampio che riguarda i computers e macchine di ogni tipo. In questa rubrica ci limitiamo agli elementi essenziali.

 

L'affidabilità è la capacità del sistema di non aver guasti, e si valuta in vari modi. Il primo è dato dall'intervallo di tempo compreso tra un incidente e l'altro. Infatti più è lungo tale intervallo e più il sistema è affidabile. Ovviamente si considera il valore medio di tale tempo o MTBSI.

 

 

L'intervallo MTBSI comprende il tempo di fermo ed il tempo utile, durante il quale la macchina opera a regime. Il tempo di fermo è determinato dal tempo speso per riconoscere il guasto, dai tempi richiesti dalla diagnosi e dalla riparazione. Quindi il sistema è ripristinato ed infine viene riattivato. Ad esempio non basta che il circuito di un computer sia sostituito, ma anche che il sistema sia ricostituito nella sua interezza, che tutti i programmi ripartano secondo la configurazione standard (= ripristino + riattivazione). Il tempo di fermo indica la riparabilità del sistema, quello utile dà la disponibilità effettiva della macchina.

La probabilità di lavorare senza interruzioni è un'altro modo per valutare l'affidabilità del sistema. I tecnici normalmente calcolano la probabilità dell'intera macchina a partire dalle sue parti che possono essere disposte in modo diverso, cioè la struttura interna condiziona l'affidabilità complessiva. Facciamo il caso che due unità a disco abbiano probabilità di buon lavoro del 90% e calcoliamo il sistema che le fa lavorare in serie ed il sistema che le tiene in parallelo.

 

Nel primo caso abbiamo che l'affidabilità totale è

P = 0,9 * 0,9 = 0,81

Nel secondo caso

P = 1 - (0,1 * 0,1) = 0,99

Cioè se le parti lavorano in serie l'affidabilità dell'intero sistema scende quasi del 10% rispetto all'affidabilità delle parti. Invece cresce quasi dello stesso valore se sono in parallelo. Infatti per aumentare l'affidabilità di un sistema si usano spesso dispositivi in parallelo che svolgono lo stesso compito, per cui si dice che sono 'ridondanti'.

Le valutazioni dell'affidabilità sono importanti per i grandi sistemi i quali devono lavorare ininterrottament. Si pensi ad esempio il servizio bancomat che copre tutti i giorni dell'anno.


Si chiamano sistemi non presidiati i computer altamente affidabili che possono lavorare 24 ore su 24 con un controllo umano ridotto al minimo. Questo significa che si tiene attivo un mainframe di notte senza operatori in servizio, risparmiando sulle spese del personale. Si mette in piedi soltanto un sistema di allarme per chiamare i tecnici di riparazione ed i sistemisti nel caso remoto ed improbabile di un fermo macchina.

 

 

 

anno 2007

144.
Come si
valuta
l'affidabilità
dei sistemi?

145. Vorrei capire meglio l'operazione di formattazione del disco rigido.

Abbiamo già trattato la formattazione nella risposta 90. Approfondiamo ora l'argomento specie per quanto riguarda la struttura del disco fisso.

La tecnologia più diffusa per l'archiviazione dei dati  è quella magnetica che utilizza supporti quanto mai variegati: nastri, cartucce, dischi, tamburi ecc. Il principio della registrazione magnetica è identico per tutti i supporti nel senso che tutti hanno superfici piane ricoperte da pasta ferromagnetica su cui i dati vengono registrati. La pasta è composta di ossidi di Ferro o di Nikel/Cromo. Il dispositivo che muove il supporto è chiamato driver. Per fissare le idee pensiamo al nastro magnetico che viene avvolto e disvolto dal driver come una bobina. Il driver contiene essenzialmente un motore elettrico e la testina di registrazione che compone i bit in fase di scrittura, e li legge in fase di lettura.

Tra i tanti dispositivi magnetici, il disco rigido (o hard disk) emerge per le sue numerosi virtù. E' estremamente capace, è molto veloce, assai affidabile ed infine ha una speciale struttura che lo distingue da tutti gli altri.

Il disco rigido contiene molti piatti i quali ruotano intorno allo stesso asse A in modo solidale. Ogni piatto ha due facciate e ciascuna facciata ha una testina dedicata. Supponiamo che le testine siano p.
Tutte le testine si muovono insieme penetrando tra i piatti. Le testine lavorano su posizioni prefissate T1, T2, ..Tv, in corrispondenza di ciascuna posizione viene registrata una traccia o pista con tanti bit uno di seguito all'altro. Dunque ogni piatto contiene v piste concentriche.

Le tracce sulla stessa verticale r1, r2, ... rp formano un cilindro ideale. Il numero di cilindri è pari a v; in pratica sono decine, centinaia o anche migliaia a seconda del modello di hard disk istallato.

I costruttori fanno in modo che tutte le piste contengano la stessa quantità di bit infatti le più esterne hanno una densità di registrazione minore e quelle interne maggiore. Dunque i cilindri hanno diametri diversi ma tutti quanti contengono la stessa quantità di dati.
 

Da tutto quello che abbiamo detto si capisce che si accede al disco secondo tre direttrici:
- In orizzontale lungo la pista,
- In verticale, a seconda della testina designata a lavorare,
- In profondità per arrivare a tutti i cilindri.

Dunque il disco rigido è l'equivalente del libro, perché come un libro si può scorrere in orizzontale, in verticale ed in profondità.

La somiglianza con il libro fa capire come il disco rigido sia particolarmente prezioso rispetto ad altri supporti che sono obbligatoriamente sequenziali, vedi ad esempio il nastro. E tale rassomiglianza ci permette anche di rispondere alla domanda di partenza.


Il disco fisso esce dalla fabbrica come un pacco di fogli bianchi i quali mancano del numero di pagina, dell'indice ecc. In poche parole il disco, per essere efficacemente usato come un libro deve essere predisposto e la formattazione gli dà la "forma" giusta. La formattazione organizza i bit in piste, in settori ed in cilindri. Prepara appositi spazi di regola sull'esterno per l'indice generale del volume il quale indice darà le collocazioni dei contenuti che si vorranno archiviare.

Di regola la formattazione è una operazione che viene effettuata appena il disco viene acquistato. Ma può essere ripetuta in casi di grave necessità, ad esempio quando il disco ha subito significativi danni materiali. Prima di eseguire una formattazione (successiva alla prima) si deve stare molto attenti però. Infatti con la formattazione vanno perduti tutti i dati che erano stati registrati in precedenza.

 

Per completezza aggiungiamo che anche altri supporti magnetici vengono formattati ma l'operazione è molto più semplice rispetto a quella eseguita per l'hard disk.

 

 

anno 2007