Kibibyte
Symbol: KiBWorldwide
Qu'est-ce qu'un/une Kibibyte (KiB) ?
Définition Formelle
Le kibibyte (symbole : KiB) est une unité de stockage d'information numérique définie par la Commission électrotechnique internationale (IEC) comme étant exactement 2¹⁰ octets, ou 1 024 octets. Le kibibyte a été introduit en 1998 dans le cadre de la norme IEC 80000-13 pour fournir un système de préfixes binaires sans ambiguïté qui distingue les multiples binaires (puissances de 1024) des multiples décimaux (puissances de 1000). Le nom "kibibyte" est un mot-valise de "kilo binary byte," abrégé en KiB.
Le kibibyte existe pour résoudre une ambiguïté de longue date en informatique. Pendant des décennies, le préfixe "kilo-" a été utilisé de manière informelle pour signifier 1024 dans des contextes informatiques, même si sa définition SI est exactement 1000. Cet usage dual a causé de la confusion : un "kilobyte" pouvait signifier soit 1 000 octets (définition SI) soit 1 024 octets (convention binaire). Les préfixes binaires de l'IEC — kibi (2¹⁰), mebi (2²⁰), gibi (2³⁰), tebi (2⁴⁰), pebi (2⁵⁰), et exbi (2⁶⁰) — ont été créés spécifiquement pour éliminer cette ambiguïté.
Relation avec d'Autres Unités
Un kibibyte équivaut exactement à 1 024 octets, ou 8 192 bits. Il est 2,4 % plus grand que le kilobyte décimal (1 000 octets). Bien que la différence au niveau du kibibyte soit petite — juste 24 octets — la divergence s'accumule de manière significative à des échelles plus grandes : un mebibyte (1 048 576 octets) est 4,86 % plus grand qu'un mégaoctet (1 000 000 octets), et un tebibyte est 9,95 % plus grand qu'un téraoctet. Cette différence croissante est la principale raison pour laquelle les préfixes binaires de l'IEC ont été jugés nécessaires.
Etymology
Création des Préfixes Binaires
Le terme "kibibyte" a été inventé par la Commission électrotechnique internationale en décembre 1998 dans le cadre d'un effort pour standardiser la nomenclature des préfixes binaires. Le Comité technique 25 (TC 25) de l'IEC sur les "Quantités et unités" a proposé le nouveau système de préfixes après des années de discussions sur la confusion causée par l'utilisation des préfixes SI pour les quantités binaires. Le préfixe "kibi-" est construit à partir des deux premières lettres de "kilo" et des deux premières lettres de "binaire," donnant "kibi." Le même principe de construction s'applique à tous les préfixes binaires de l'IEC : mebi (méga-binaire), gibi (giga-binaire), tebi (téra-binaire), pebi (péta-binaire), et exbi (exa-binaire).
Défis d'Adoption
Bien qu'il soit standardisé depuis plus de 25 ans, le kibibyte et ses unités associées ont connu une adoption inégale. L'IEEE, le NIST et l'ISO soutiennent tous formellement les préfixes binaires de l'IEC. Les systèmes d'exploitation Linux, les environnements de bureau GNOME et KDE, et de nombreux outils open-source utilisent KiB de manière cohérente. Cependant, Apple a changé macOS pour des préfixes décimaux en 2009, et Microsoft Windows continue d'utiliser "KB" pour signifier 1 024 octets en 2024. L'industrie informatique reste divisée, de nombreux développeurs et administrateurs système préférant le familier "KB" au "KiB" techniquement correct.
Precise Definition
Norme IEC 80000-13
Le kibibyte est formellement défini dans la norme IEC 80000-13 (anciennement IEC 60027-2), publiée par la Commission électrotechnique internationale. La norme spécifie : 1 KiB = 2¹⁰ B = 1024 B. La norme définit également la famille complète de préfixes binaires : kibi (Ki, 2¹⁰), mebi (Mi, 2²⁰), gibi (Gi, 2³⁰), tebi (Ti, 2⁴⁰), pebi (Pi, 2⁵⁰), et exbi (Ei, 2⁶⁰). Ces préfixes sont applicables à toute unité, pas seulement à l'octet — par exemple, le kibibit (Kibit) équivaut à 1 024 bits.
Soutien des Normes Internationales
Les préfixes binaires de l'IEC ont été approuvés par plusieurs organisations de normalisation internationales. L'Institut national des normes et de la technologie (NIST) aux États-Unis les a adoptés en 2008 dans son Guide pour l'utilisation du Système international d'unités. L'Association des normes IEEE les inclut dans IEEE 1541-2002. L'Organisation internationale de normalisation (ISO) les mentionne dans ISO/IEC 80000.
Comparaison avec le Kilobyte SI
Le kilobyte SI (kB) équivaut exactement à 1 000 octets, suivant le système de préfixes SI standard. Le kibibyte (KiB) équivaut à 1 024 octets. La différence de 24 octets (2,4 %) à cette échelle peut sembler négligeable, mais elle reflète une distinction fondamentale dans la façon dont les quantités sont comptées : décimal (base-10) contre binaire (base-2). En informatique, où les adresses mémoire, les lignes de cache et les tailles de page sont intrinsèquement des puissances de deux, l'interprétation binaire est souvent plus naturelle et techniquement significative.
Histoire
Le Problème du Kilobyte Binaire
Depuis les premiers jours de l'informatique dans les années 1950, les ingénieurs ont utilisé le terme "kilobyte" pour signifier 1 024 octets parce que la mémoire des ordinateurs était organisée en puissances de deux. Les premiers ordinateurs tels que l'IBM 7030 (1961) avaient des tailles de mémoire comme 32K mots, où K signifiait 1 024. Cette convention a persisté pendant des décennies à travers la révolution de l'ordinateur personnel des années 1980 et 1990 : un ordinateur annoncé comme ayant "640 Ko de RAM" avait en réalité 640 × 1 024 = 655 360 octets.
Le conflit est apparu lorsque les fabricants de stockage ont commencé à utiliser la définition SI. Un disque floppy de "1,44 Mo" contenait 1 440 × 1 024 = 1 474 560 octets — ni 1 440 000 octets (1,44 Mo en SI) ni 1 048 576 octets (1 MiB). Les fabricants de disques durs ont également adopté la définition SI, annonçant des disques de "500 Go" qui contenaient 500 000 000 000 octets — environ 465 GiB. Cette divergence a entraîné de la confusion chez les consommateurs et même des recours collectifs contre les fabricants de stockage.
La Solution de l'IEC
En réponse, l'IEC a proposé le système de préfixes binaires en 1996, le publiant formellement en 1998 comme Amendement 2 à l'IEC 60027-2. La proposition a été développée principalement par le Comité technique 25 de l'IEC. L'intention était claire : réserver les préfixes SI (kilo, méga, giga) exclusivement aux puissances de 1000, et utiliser les nouveaux préfixes binaires (kibi, mebi, gibi) pour les puissances de 1024. La norme a été affinée dans l'IEC 80000-13, publiée en 2008.
Adoption Mixte
L'adoption a été progressive et inégale. Le noyau Linux et les outils associés ont adopté la notation KiB tôt. Ubuntu et d'autres distributions affichent les tailles de fichiers en KiB, MiB et GiB. macOS d'Apple est passé aux kilobytes décimaux (1 Ko = 1 000 octets) dans Snow Leopard (2009), évitant complètement le problème en utilisant les définitions SI. Microsoft Windows, le système d'exploitation de bureau le plus utilisé, continue d'afficher "Ko" signifiant 1 024 octets, créant une incohérence persistante avec la norme. En pratique, le monde informatique reste divisé, bien que la documentation technique utilise de plus en plus la notation IEC correcte.
Utilisation actuelle
Systèmes d'Exploitation et Gestionnaires de Fichiers
Le kibibyte est directement pertinent chaque fois que les tailles de fichiers sont affichées sur un ordinateur. Les systèmes basés sur Linux (Ubuntu, Fedora, Arch Linux) et leurs gestionnaires de fichiers utilisent généralement KiB, MiB et GiB lors de l'affichage des tailles de fichiers. L'application GNOME Files et KDE Dolphin utilisent toutes deux les préfixes binaires IEC. Cependant, de nombreux outils en ligne de commande par défaut aux puissances de 1024 tout en affichant "K" ou "Ko" à moins d'être spécifiquement configurés pour utiliser la notation IEC.
Programmation et Développement Logiciel
En programmation, le kibibyte est utilisé dans l'allocation de mémoire, la taille des tampons et l'optimisation des performances. Les pages de mémoire sur la plupart des architectures sont de 4 KiB (4 096 octets). Les tampons de paquets réseau, les tailles de blocs de systèmes de fichiers et les alignements de lignes de cache sont tous spécifiés en puissances de deux. Des langages tels que Python, Go et Rust ont des bibliothèques de formatage qui supportent la notation KiB. Les GNU coreutils (ls, du, df) supportent l'option --si pour la sortie décimale et -h pour la sortie binaire avec préfixe IEC.
Documentation Technique
Les normes techniques, les spécifications matérielles et les articles académiques utilisent de plus en plus les préfixes binaires IEC pour éviter l'ambiguïté. Les normes de mémoire JEDEC, les RFC de mise en réseau de l'IETF et la documentation du noyau Linux utilisent ou recommandent tous la notation KiB. La tendance vers la correction dans la communication technique se poursuit, même si l'utilisation quotidienne reste en retard.
Stockage et Réseau
À l'échelle du kibibyte, les applications pratiques incluent les tailles de messages électroniques (un courriel texte brut typique fait entre 2 et 10 KiB), les fichiers de configuration (souvent entre 1 et 50 KiB), les petites images et icônes (entre 4 et 256 KiB), et le firmware des systèmes embarqués. Les tailles MTU réseau (typiquement 1 500 octets, ou environ 1,46 KiB) et les tailles de fenêtres TCP sont souvent discutées en termes de kibibytes.
Everyday Use
Tailles de Fichiers que Vous Rencontrez Quotidiennement
Le kibibyte est l'unité appropriée pour de nombreux fichiers numériques courants. Un courriel texte brut typique sans pièces jointes fait entre 2 et 10 KiB. Un favicon (la petite icône dans un onglet de navigateur) fait généralement entre 1 et 4 KiB. Un court document texte ou un fichier de configuration varie de 1 à 50 KiB. Une seule page de texte formaté dans un traitement de texte fait environ 20 à 40 KiB. Les fichiers de code source varient généralement de 1 à 100 KiB, la plupart des fichiers individuels se situant entre 5 et 30 KiB.
Comprendre les Affichages de Taille de Fichier
Lorsque vous voyez un fichier listé comme "48 Ko" sur votre ordinateur, le nombre réel d'octets dépend de votre système d'exploitation. Sur Windows, "48 Ko" signifie 48 × 1 024 = 49 152 octets (ce qui devrait techniquement être écrit comme 48 KiB). Sur macOS (depuis 2009), "48 Ko" signifie 48 × 1 000 = 48 000 octets. Sur la plupart des distributions Linux, vous verriez "48 KiB" signifiant 49 152 octets. Cette incohérence est l'une des sources de confusion les plus persistantes dans l'informatique quotidienne.
Le Kibibyte dans le Contexte
Pour mettre le kibibyte en perspective : un KiB peut stocker environ 1 024 caractères ASCII — soit environ un cinquième d'une page imprimée standard. Un message texte SMS typique (160 caractères) utilise environ 0,16 KiB s'il est stocké en ASCII, ou environ 0,31 KiB en codage UTF-16. Une photo de smartphone haute résolution (12 mégapixels, compressée JPEG) fait environ 3 000 à 8 000 KiB (3-8 MiB). Un fichier audio MP3 d'une minute à 128 kbps fait environ 960 KiB.
In Science & Industry
Informatique et Architecture de Mémoire
En informatique, le kibibyte est fondamental pour comprendre l'architecture de la mémoire. Les pages de mémoire virtuelle sur les processeurs x86 et ARM sont généralement de 4 KiB (4 096 octets). Le tampon de traduction (TLB), qui met en cache les traductions d'adresses virtuelles à physiques, fonctionne sur ces pages de 4 KiB. Les grandes pages, utilisées pour l'optimisation des performances dans les bases de données et les machines virtuelles, sont généralement de 2 MiB (2 048 KiB) ou 1 GiB. Les lignes de cache CPU sont généralement de 64 octets (0,0625 KiB), et les tailles de cache L1 sur les processeurs modernes varient de 32 KiB à 128 KiB par cœur.
Théorie de l'Information
En théorie de l'information, la mesure précise des quantités de données est essentielle. Lors du calcul de l'entropie, des ratios de compression ou de la capacité de canal, la distinction entre 1 000 et 1 024 peut affecter les résultats. Les chercheurs en théorie de l'information et en théorie du codage utilisent des kibibytes (et d'autres unités IEC) pour garantir un rapport sans ambiguïté des tailles de données. Les articles publiés dans les revues IEEE et ACM exigent de plus en plus des préfixes binaires IEC.
Systèmes Embarqués
Les systèmes embarqués — les microcontrôleurs à l'intérieur des voitures, des appareils électroménagers, des dispositifs médicaux et des équipements industriels — ont souvent une mémoire mesurée en kibibytes. Un microcontrôleur ARM Cortex-M0 typique pourrait avoir 32 KiB de mémoire flash et 4 KiB de RAM. Les ingénieurs en firmware doivent tenir compte de chaque octet, rendant la définition précise de KiB (par rapport à kB) critique pour la planification des ressources. Une mauvaise compréhension de 2,4 % à ces échelles pourrait signifier la différence entre un firmware qui tient dans la mémoire et un firmware qui ne tient pas.
Interesting Facts
The original IBM PC (1981) shipped with 16 KiB of RAM, expandable to 256 KiB. Today, a single CPU cache on a modern processor may contain 32-64 KiB of L1 cache that operates thousands of times faster than that original RAM.
The IEC binary prefixes were proposed partly in response to a class-action lawsuit against Western Digital in 2006, where consumers argued that a '500 GB' hard drive should contain 500 × 2³⁰ bytes rather than 500 × 10⁹ bytes. The lawsuit was settled for $2.5 million.
The famous '640K ought to be enough for anyone' quote — often attributed to Bill Gates — refers to 640 KiB (655,360 bytes) of conventional memory in the original IBM PC architecture. Gates has denied ever making this statement.
A standard 1.44 MB floppy disk actually held 1,440 KiB (1,474,560 bytes), which is neither 1.44 megabytes (1,440,000) nor 1.44 mebibytes (1,509,949). It used a unique hybrid convention that matched no standard.
The JEDEC memory standard body still uses KB to mean 1,024 bytes in RAM specifications, creating an official exception to the IEC standard. This means your computer's RAM and storage use different definitions of 'kilo.'
Wikipedia, one of the world's most-visited websites, officially uses IEC binary prefixes (KiB, MiB, GiB) in all technical articles, following a formal policy decision made in 2005.