Chapitre 3.7
Octets
Dans le chapitre sur le binaire, nous avons vu qu'un chiffre binaire, 0 ou 1, est appelé un bit.
C'est une représentation directe d'un signal électrique. Le bit est l'unité de base de l'informatique qui permet de stocker, transférer, calculer...
C'est pourquoi nous croisons des puissances de 2 partout.
Les processeurs et mémoires, pour des raisons de performance et de simplicité, ne travaillent pas bit par bit, ils
préfèrent manipuler des blocs.
Dans les débuts de l'informatique, chaque constructeur développait son propre système.
Certaines machines utilisaient des blocs de 6, 7 ou 9 bits.
ASCII
Dans les années 60, est né l'American Standard Code for Information Interchange (ASCII).
C'est un système qui associe chaque caractère (lettre, chiffre, ponctuation…) à un nombre. Par exemple, la lettre "A" vaut 65, "B" vaut 66, etc.
Ce code tenait sur 7 bits, soit 128 combinaisons possibles, ce qui suffisait pour écrire en anglais.
Mais les ordinateurs fonctionnent plus efficacement avec des puissances de 2.
On a donc adopté 8 bits au lieu de 7.
Au début, ce 8ème bit servait parfois de bit de contrôle, pour détecter des erreurs lors de la transmission ou du stockage.
Très vite, il a été utilisé pour supporter 256 caractères et pouvoir ajouter d'autres alphabets, en particulier les accents
et subtilités des langues. Ça a donné naissance aux standards ISO 8859, qu'on croise encore parfois
pour stocker des textes dans les bases de données.
Progressivement, tous les standards se sont basés sur des blocs de 8 bits.
Les constructeurs ont donc aligné leurs machines pour utiliser cette nouvelle unité commune : l'octet ou byte en anglais.
Des Kilo aux Yotta
Stocker un caractère simple, le "A" par exemple, prend ainsi 1 octet en mémoire.
Manipuler le nombre 65000 utilise 2 octets. Faire fonctionner nos ordinateurs modernes requiert donc
des milliards d'octets.
Depuis les années 60, le nombre de transistors dans nos ordinateurs a doublé tous les deux ans.
C'est ce qu'on appelle la loi de Moore. Ça implique directement une forte augmentation des capacités
de calcul et de stockage.
Au fil des années, nous avons atteint de nouvelles échelles :
- Kilooctet (Ko) = 1000 octets. L'ordinateur de bord d'Apollo 11, la mission qui a permis à Neil Armstrong de poser le pied sur la Lune en 1969, disposait d'environ 74 Ko de mémoire.
- Mégaoctet (Mo) = 1000 Ko. Une disquette 3,5 pouces (les noires carrées) stockait 1,4 Mo.
- Gigaoctet (Go) = 1000 Mo. Environ la taille d'un film en HD.
- Téraoctet (To) = 1000 Go. La capacité de stockage de la plupart des disques durs récents. C'est aussi la taille qu'il faut pour stocker l'ADN d'un humain.
- Pétaoctet (Po) = 1000 To. La quantité de données générée par jour par un grand télescope scientifique.
- Exaoctet (Eo) = 1000 Po. Le trafic Internet mondial dépasse les 400 Eo chaque mois.
- Zettaoctet (Zo) = 1000 Eo. Le volume total de données stockées dans le monde dépassera 180 Zo d'ici peu.
- Yottaoctet (Yo) = 1000 Zo. Aucun système actuel ne peut encore stocker un Yottaoctet, mais des entreprises comme IBM ou Microsoft prévoient d'y parvenir dans les prochaines décennies. Le préfixe Yotta a été ajouté en 2022 dans le Système international pour anticiper les besoins futurs du numérique.
Ces unités suivent le système décimal, comme les mètres et les kilomètres.
C'est simple à comprendre, et c'est ce que les fabricants de disques durs ou de clés USB utilisent pour afficher des chiffres ronds.
Mais l'ordinateur, lui, préfère les puissances de 2.
Des Kibi aux Yobi
Les machines ne comptent pas en base 10, mais en base 2. Et dans leur monde, 1024 (soit 2^10) est plus naturel que 1000. Du coup, les ordinateurs utilisent une autre série d'unités, adaptée au monde binaire :
- Kibioctet (Kio) = 1024 octets.
- Mibioctet (Mio) = 1024 Kio.
- Gibioctet (Gio) = 1024 Mio.
- Tibioctet (Tio) = 1024 Gio.
- Pibioctet (Pio) = 1024 Tio.
- Exbioctet (Eio) = 1024 Pio.
- Zebioctet (Zio) = 1024 Eio.
- Yobioctet (Yio) = 1024 Zio.
Forcément, en multipliant par 1024, les comptes sont moins ronds qu'en multipliant par 1000.
Ça signifie aussi qu'un gibioctet contient plus d'octets qu'un gigaoctet : un même volume de stockage exprimé en giga semble donc plus grand qu'en gibi.
Les équipes marketing des constructeurs ont ainsi préféré populariser les unités décimales : kilo, méga, giga, téra...
Ça explique pourquoi quand tu branches une clé USB de 8 Go, ton ordinateur te dit qu'il n'y a que 7,45 Go de disponible :
ce sont en fait 7,45 Gio.
