Approximations

Que ce soit à un cheval, à une demie queue de vache, ou à un quart de poil de cul près, tout le monde se permet à un moment ou à un autre de faire des approximations. Tonton Seb vous parle aujourd'hui d'une lente révolution en marche dans le monde de l'informatique : l'application de la norme CEI 60027-2 ...

Quand Bill Gates était tout piti, alors qu'il sortait sa première version de MS-DOS, il pensait :
640K should be enough for anybody[1]

Si nous savons aujourd'hui que c'était une belle connerie, vu ce que Microsoft préconise comme quantité de mémoire vive pour faire tourner Vista, deux points importants sont à relever aujourd'hui dans cette déclaration :

  1. Billou utilise incorrectement - sous forme de suffixe - le préfixe K de kilo (notation du Système International) , ce qui nous vaut aujourd'hui des connexions Internet à 20 mega, des disques durs de 500 giga, ou des appareils photos de 11 mega, alors que les unités employées n'ont rien à voir[2],
  2. Notre ami à lunettes ne connaissait pas encore la norme CEI 60027-2, qui définit les préfixes binaires.

En application de cette norme et d'une utilisation convenable des préfixes, on aurait donc eu le droit à :
640 KiB should be enough for anybody.

Ce qui est toujours aussi stupide, mais là n'est pas le sujet ...

Les ordinateurs - ces gros dégueulasses - passent leur temps à manipuler des bits, et comme ils ne sont pas très malins, ils ne leur connaissent que deux états : jour (1) et nuit (0). Comme on ne chie pas très loin avec un seul bit, il faut en coller plusieurs côte à côte pour réussir à en tirer quelque chose, ce qui donne des résultats aussi étranges que "1 + 1 = 10" quand on compte sur une base binaire, comme ces sacs à puces d'ordinateurs. Un beau jour, un gros malin a d'ailleurs décidé qu'on allait appeler "octet" (Byte en angliche in ze texte), un agglutinement de 8 bits.

Vu que nos ancêtres informaticiens n'avaient pas trop envie de se faire chier à écrire, ils ont fini par se rendre compte qu'avec 10 bits on pouvait coder 1024 possibilités, soit à la louche un bon kilo. On n'est pas à un chouïa près non plus, hein ...
Ils ont donc commencé à se la péter avec les kilo octets de RAM qu'ils pouvaient coller dans leur machine, puis quand on a commencé à pouvoir en mettre des milliers sur une disquette, ils ont sorti le grand jeu du méga-octets (2 puissance 20 octets), puis celui du giga-octets (2 puissance 30 octets).

Lorsque ces termes de kilo/mega/giga-octets ont commencé à se démocratiser chez monsieur-tout-le-monde, certains constructeurs de disques durs en ont profité pour jouer sur les termes, et ont vendu des disques de n giga-octets de capacité en utilisant la notation du système international, vendue à 10 puissance 9 octets (soit pile-poil un milliard d'octets) et pas la notation binaire, qui aurait voulu qu'ils livrent 2 puissance 30 octets (soit 1073741824 octets) de capacité de stockage.

Le mari de Mme Michu s'est alors indigné qu'on lui ait ainsi raboté 73741824 octets[3] sur son giga de disque, et Mme Michu s'est dit que si elle pouvait utiliser la notation binaire chez son boucher, le coût de la vie diminuerait automatiquement de 2,46%, ce qui n'est pas rien.

Suivant l'avis de M. et Mme Michu, la Commission Électrotechnique Internationale a décidé de réagir en 1998, et a décrété que les unités de mesure binaire en base 2 ne pouvaient pas être les mêmes que celles du Système International en base 10.

Du coup, si l'on parle toujours d'un kilogramme (Kg) de viande ou d'un mégawatt (MW) d'électricité, en base binaire on doit désormais parler de kibi-octets (KiB), de mébi-octets (MiB) ou de gibi-octets (GiB) de mémoire vive ou de capacité disque.

Ça change tout, hein ? ;-)

Le seul truc chiant que je vois dans tout ça, c'est qu'avec la montée en puissance des capacités de stockage, le tébi-octet étant désormais atteint, SUN annonçant son système de fichiers ZFS supportant jusqu'à un zébi-octet[4], bref qu'on ne va pas tarder à parler en quadrillions d'octets, il faudra faire gaffe dans les approximations futures à ne pas confondre iota avec yotta ...

Notes

[1] Soit : 640K (de mémoire vive) devraient suffire à n'importe qui.

[2] Il s'agit de bits par seconde dans le premier cas, d'octets dans le second, et de pixels dans le dernier.

[3] Soit largement de quoi enregistrer un épisode de Très chasse en divx, faut pas déconner !

[4] Zéb, zébi, la mouche !

Haut de page