Così come il metro viene utilizzato per misurare le distanze ed il grammo permette di stabilire il peso di un corpo, allo stesso modo anche il modo dell'informatica ha una propria unità di misura, impiegata nello specifico per misurare la quantità di informazioni.
E proprio come il metro dispone di vari multipli (fra cui il più usato è sicuramente è il kilometro), allo stesso anche l'unità di misura informatica avrà bisogno di unità multiple che consentano di esprimere in forma più compatta quantità molto elevate: è più pratico utilizzare "100 kilometri" oppure "100.000 metri"? Appunto.
Ma le analogie non finiscono qui: proprio come esiste il "kilometro al secondo" per trattare le velocità, allo stesso modo il mondo dei computer ha avuto bisogno di realizzare unità di misura composte per trattare problemi simili.
Se per il metro esistono anche sottomultipli, fra cui il centimetro, nel modo dell'informatica si è scelto di "iniziare dal basso": ecco quindi il bit, compressione BInary digiT, definito come la più piccola quantità di informazione concepibile per un elaboratore dati.
Ma un computer è uno strumento matematicamente semplice, che gestisce solamente lunghe serie di zero ed uno, raggruppati in sequenze di varia lunghezza per codificare informazioni più complesse. Ecco quindi che l'unità base, il bit, può assumere solamente due valori: zero oppure uno.
Ma come può un elaboratore dati che gestisce solamente il concetto di 0 ed 1 trattare anche i caratteri alfanumerici concreti? Semplicemente utilizzando una particolare codifica di memorizzazione, cioè codificando in sequenze di 0 ed 1 qualsiasi altro simbolo!
Quanto impiega questa codifica in termini di spazio? Esattamente 8 bit.
Come è facile immaginare, questi benedetti 8 bit sono utilizzati talmente tanto da rendere oltremodo comoda l'introduzione di una seconda unità di misura, pari appunto ad 8 bit. Ecco quindi nascere il byte, cioè la dimensione di un carattere dell'alfabeto (ad esempio la lettera "a") oppure la rappresentazione di un numero ("6").
Una esperienza concreta per focalizzare questo concetto è quella di aprire il blocco note, digitare la stringa ciao! e quindi salvare il documento: quanto sarà grande il suddetto file? Si tratta di cinque caratteri, ognuno pari ad un byte per quanto visto poco fa... quindi un totale di 5 byte.
E se volessimo conoscere la stessa grandezza espressa in termini di bit invece? Ricordando che un byte è pari ad 8 bit, basta moltiplicare 5 byte x 8 bit = 40 bit. Potremmo indifferentemente dire quindi che il nostro documento occupa 5 byte oppure 40 bit.
Come appena visto, esprimere una grandezza in bit oppure in byte è indifferente: è la stessa cosa affermare che una distanza misura 2,54 centimetri oppure 1 pollice? Certamente si, la sostanza è la stessa, cambia solo l'unità di misura di riferimento.
Per una consuetudine non scritta però si preferisce utilizzare il byte per le misure spaziali ("questo documento occupa 5.000 byte" oppure "questa memoria ha una capienza di 64.000.000 di byte") ed il bit per quelle velocistiche ("questo collegamento ad Internet permette di scaricare a 56.000 bit al secondo"). Si tratta però solamente di consuetudini!
Come salta subito agli occhi dagli esempi appena visti, trattare numeri come "5.000 byte" oppure "56.000 bit" è poco pratico: tutti odiano i numeri troppo alti, e si preferisce sempre lavorare con cifre piccole!
Ecco quindi che intervengono i multipli: proprio come il metro ha il kilometro (pari a 1.000 metri) ed il grammo ha il kilogrammo (1.000 grammi), anche il bit ha il kilobit ed il byte il kilobyte.
Ed ancora, altri multipli denominati secondo le delibere del Sistema Internazionale (SI): kilo-, mega-, giga-, tera- fra quelli più noti, seguiti da peta-, exa-, zetta- e yotta- per indicare quantità di dati davvero inusuali.
Ma torniamo ai nostri bit e byte: a quanti byte equivale precisamente un kilobyte? Purtroppo molti dei problemi e delle incomprensioni nascono proprio qui. Benché il prefisso kilo- indichi in modo ben chiaro il valore 1.000 in base dieci (ad esempio, 1 kilometro = 1.000 metri), l'espressione è storicamente ed erroneamente utilizzata in ambito informatico come se indicasse la decima potenza di due (2^10), e non la terza di dieci (10^3)!
In altre parole, si assume erroneamente che il prefisso kilo- indichi 2^10 = 1.024. Nella realtà però, kilo- indica il valore 10^3=1.000 .
Ci si ritrova quindi con una confusione notevole in cui:
1 kilobyte = 1.000 byte (indicazione corretta secondo lo standard SI)
1 kilobyte = 1.024 byte (assunto erroneo del mondo informatico)
Si crea quindi uno scarto di 24 bit ogni mille (errore del 2.4%). Il problema a questo punto è piuttosto chiaro: se la differenza è trascurabile per valori piccoli, la propagazione dell'errore su diversi ordini di grandezza causa problemi davvero notevoli nel computo della capacità dei dispositivi di memorizzazione:
1 gigabyte = 1.000.000.000 byte (indicazione corretta secondo lo standard SI)
1 gigabyte = 1.073.741.824 byte (assunto erroneo del mondo informatico)
Come potete notare quindi, mano a mano che si sale con i numeri, questo fraintendimento causa un errore davvero tangibile, a seconda di quale significato si attribuisce al prefisso: per 1 gigabyte ad esempio, l'errore è pari a circa 74 megabyte.
Facciamo nuovamente un gioco con il blocco note per capire quanto visto fin qui. Apriamo il programma, creiamo un nuovo documento di testo e scriviamo cento volte la stringa di dieci caratteri abcdefghil. Otterremo così un documento di 10 caratteri da 1 byte x 100 volte = 1.000 byte.
Verifichiamo ora le dimensioni del documento indicate dal sistema operativo:
Si parla ancora di 1.000 byte, e non di 1 kilobyte, come sarebbe lecito attendersi! Ma se aggiungiamo altri 24 caratteri al nostro documento e arriviamo così a 1.024 byte...
Ecco verificato quindi che, nonostante il prefisso kilo- indichi nel SI il valore 1.000, il mondo dell'informatica considera 1 kilobyte equivalente a 1.024 byte.
Torneremo sulla confusione generata da questi errori fra poco.
Per differenziare le abbreviazioni di bit e byte, il SI vuole che si utilizzi la lettera minuscola per indicare il primo e quella maiuscola per indicare il secondo.
Scriveremo quindi 50b e 70B per indicare, nell'ordine, quantità espresse in bit e in byte.
Le grandezze multiple saranno espresse invece secondo le direttive SI per i prefissi: tutti con la lettera maiuscola, ad eccezione di "kilo" che vuole la lettera minuscola.
Combinando le due indicazioni, avremo quindi 50GB per 50 gigabyte, 35Mb per 35 megabit, 12 kB per 12 kilobyte, e 60 kB per 60 kilobit.
Notate in particolare che la "k" deve essere sempre minuscola, in contrapposizione a "M", "G" e tutte le altre, che devono essere sempre scritte con la lettera maiuscola.
Il discorso è analogo per quanto riguarda la misura delle velocità di trasferimento: parleremo di 50 kB/s per indicare un collegamento in grado di comunicare dati ad un ritmo di 50 kilobit per ogni secondo, 25 kB/s per dire 25 kilobyte al secondo, 2 MB/s per 2 megabit al secondo e via dicendo.
Inutile dire che, nonostante queste precise indicazioni, si legge troppo spesso "MB" (invece di "MB") per indicare il megabyte e via dicendo. Ho avuto inoltre pochissime occasioni, anche a livello universitario, di veder scritto correttamente kB per indicare i kilobyte: si usa quasi sempre kB o kB in modo piuttosto intercambiabile, quindi abituatevi a convivere con queste imprecisioni.
Imparando la fondamentale differenza fra bit e byte, abbiamo quindi scoperto che la velocità di punta della nostra ADSL rispecchia, nella maggioranza dei casi, proprio quanto promesso: ad esempio, una linea da 1.280 kilobit per secondo scarica a.. 1.280 kilobit al secondo, che espressi in byte sono pari appunto a 1280 kilobit / 8 bit per ogni singolo byte = 160 kilobyte per secondo.
Ragionando infine sulla complessa questione delle unità di misura multiple, si può arrivare a capire perché, ad esempio, un disco fisso che da specifiche dovrebbe garantire una capacità di archiviazione pari ad "80 gigabyte", arriva al massimo ad 74,5.
Nelle intenzioni dei produttori, 80 gigabyte significa 80 miliardi di byte. Questa sarebbe un'indicazione corretta se il mondo informatico assumesse 1 gigabyte = 1.000.000.000 byte . Come abbiamo visto poco sopra riferendoci ai kilobyte invece, nel mondo dei computer 1 gigabyte = 1.073.741.824 byte.
Dividendo quindi il valore di 80.000.000.000 byte (80 gigabyte) per il numero 1.073.741.824 byte (cioè un gigabyte come utilizzato dal computer) si ottiene appunto 74,5 GB, cioè la reale capacità di memorizzazione del disco.
Discorso del tutto analogo per quanto riguarda i DVD scrivibili: la capacità promossa dai produttori è di 4.7 GB, inteso però ancora una volta come 4.700.000.000 byte.
Per ottenere lo spazio realmente a disposizione dell'utente però, è necessario ancora una volta dividere questo valore per l'assunto informatico, in cui un gigabyte vale 1.073.741.824 byte: in questo modo si ricaverà la reale capacità di un DVD, cioè all'incirca 4.37 GB.
Conscia del problema, la comunità scientifica internazionale ha emesso una serie di nuovi prefissi, con lo scopo di stabilire in modo univoco e non fraintendibile queste misure.
I nuovi prefissi prendono il nome di prefissi standard IEC e sono kibi-, mebi-, gibi-, tebi e via dicendo, in cui la sillaba "bi" sta ad indicare appunto che stiamo lavorando in ambito binario.
Sul piano puramente teorico, questa nuova disposizione sbroglia completamente la matassa: l'indicazione "1 kilobyte" diviene uguale 1.000 byte, mentre "1 kibibyte" sta ad indicare 1.024 byte.
Se sul piano teorico la cosa è piuttosto semplice, sono ancora pochissime le realtà in cui si utilizza la nuova nomenclatura: nella stragrande maggioranza dei casi si continua e si continuerà ancora per molto tempo ad usare i prefissi tipici del sistema decimale (kilo-, mega- eccetera) anche per indicare quantità binarie.
Se siete riusciti ad arrivare fino a qui, sono sicuro che avrete in testa più confusione che mai! Alla fine dei conti, quanto vale un kilobyte?
Affermare "vale 1.000 byte" è l'equivalenza più corretta sul piano strettamente formale, ma non è il modo in cui è stata applicata all'informatica, in cui il presupposto è che "vale 1024 byte".
Poiché si lavora nel mondo reale e non in quello teorico, e fino a quando il termine kibibyte non avrà soppiantato del tutto il kilobyte anche nell'utilizzo quotidiano (cosa che richiederà non meno di una decina d'anni) è necessario adattarsi alla realtà dei fatti, ed assumere che "1 kilobyte vale 1.024 byte"... e ricordarsi di fare sempre una conversione prima di acquistare un disco fisso, soprattutto se di capacità elevata: comprare un modello da 500 GB per poi ritrovarsene a disposizione solo 465,6 potrebbe far infuriare anche i più cauti.
MegaLab.it rispetta la tua privacy. Per esercitare i tuoi diritti scrivi a: privacy@megalab.it .
Copyright 2008 MegaLab.it - Tutti i diritti sono riservati