Cos’è Bit Stuffing?

Il bit stuffing, a volte indicato come giustificazione positiva, è il processo di aggiunta di informazioni extra non di dati in una stringa di dati del computer, in genere per garantire che i dati vengano letti correttamente quando il computer li riceve. I dati del computer sono costituiti da bit di informazioni sotto forma di 1 e 0. Per segnalare l’inizio e la fine di un blocco di dati, viene utilizzato un codice. Quando le informazioni effettive trasmesse potrebbero essere confuse per questo codice e ignorate, i bit extra, come gli 0, vengono inseriti — riempiti — nel codice in modo che il computer sappia quali dati elaborare.

Conosciuto anche come bit padding, il bit stuffing aiuta a prevenire gli errori quando un computer riceve informazioni. I bit non rappresentano alcuna informazione effettiva e una volta trasmessi tutti i dati, il computer elimina o ignora i bit non necessari. Se, per esempio, il segnale per l’inizio di una riga di codice fosse cinque 1 di fila e i dati effettivi inviati iniziassero con cinque 1, il computer penserebbe che questo sia il segnale di inizio e lo cancellerebbe. Per evitare ciò, verrebbe inserito un bit zero tra il quarto e il quinto 1 in modo che venga letto come “111101” anziché “11111”. Il computer quindi eliminerebbe lo zero e leggerebbe i dati come cinque unità invece di eliminarli.

Un altro uso del bit stuffing è compilare una stringa di dati che richiede un certo numero di bit per essere trasmessa correttamente. Potrebbe essere necessario che una stringa di informazioni sia lunga almeno 10 bit, ma ne abbia solo nove presenti. In questa situazione, verrebbe aggiunto un bit in più per portare il totale a 10. Il bit in più verrà scartato quando i dati vengono interpretati.

Oltre ad aiutare il computer a interpretare correttamente i blocchi di dati, il bit stuffing viene utilizzato anche per aiutare la sincronizzazione del computer. Un computer invia e riceve informazioni a un ritmo costante basato sul suo orologio interno. Se vengono inviati troppi bit uguali, ad esempio una riga di tutti 0, l’orologio del computer potrebbe perdere la sincronizzazione ed eseguire i comandi nell’ordine sbagliato. L’inserimento di un 1 nella riga degli 0 costringe l’orologio del computer a risincronizzarsi e previene questo problema.

Simile ad aiutare un computer a rimanere sincronizzato, il bit stuffing aiuta anche il computer a leggere correttamente i dati quando le informazioni vengono inviate in bit anziché come flusso continuo. Per indurre il computer a vedere la trasmissione come continua, vengono generati bit casuali e inviati al computer mentre attende la trasmissione del successivo blocco effettivo di informazioni. Ciò mantiene il modello di trasmissione a un ritmo costante.

Il computer è in grado di rimuovere i bit non di dati dai flussi di dati una volta ricevuti. I programmatori di computer devono sapere quali bit inserire in modo che il computer li rimuova invece di leggerli come dati reali. Se il computer tentasse di interpretare questi bit ripieni invece di scartarli, causerebbe errori del computer nel programma.