¿Cuál es la diferencia entre un kilobyte y un kibibyte?

Respuesta corta: “kibi-” significa 1024 todo el tiempo. “Kilo-” significa “1000” la mayor parte del tiempo, pero existe la posibilidad de confusión cuando se llega a la intersección de almacenamiento / redes / y memoria principal, cuando “kilo-” a veces significa “1024” y esto se debe en gran medida al uso histórico del lenguaje. La RAM se describe típicamente con el uso binario: un “kilobyte de RAM” es 1024 B, pero un kilobyte de HD es típicamente 1000 B, pero algunos (¿la mayoría?) Los sistemas operativos usan los usos binarios cuando se refieren a cosas como tamaños de archivos y libre espacio.

Históricamente, a los científicos informáticos que construían hardware y memoria les resultaba más fácil y conveniente contar cosas en binario, ya que en realidad estaban usando binario en un nivel bajo. Dado que [math] 2 ^ {10} [/ math] = 1024 está bastante cerca de [math] 10 ^ {3} [/ math], las personas que crean el direccionamiento de hardware / memoria adoptaron el prefijo “kilo-” que significa 1024 bytes y “mega” para ser [matemática] 2 ^ {20} [/ matemática] = 1,048,576 todavía está bastante cerca de [matemática] 10 ^ {3} [/ matemática].

Otros científicos informáticos que trabajan en otras secciones del campo (por ejemplo, redes y almacenamiento) utilizaron en gran medida la definición SI original donde “kilo-” significaba 1,000 y “mega-” significaba 1,000,000. Un disco duro que se anunciaba como “1GB” almacenaba 1,000,000,000 de bytes.

A fines de la década de 1990, la Comisión Electrotécnica Internacional introdujo formalmente la nomenclatura “-bi-” para proporcionar una forma de sortear la ambigüedad. El uso de kibibyte / KiB, mebibyte / MiB, gibibyte / GiB, etc. se referiría sin ambigüedades a [math] 2 ^ {10} [/ math], [math] 2 ^ {20} [/ math], [math] 2 ^ {30} [/ math], etc. Estos prefijos son parte de las definiciones oficiales de SI ahora, pero no creo que nadie use los prefijos binarios fuera de los contextos relacionados con la computadora (“Mi auto usa 38 L por 100 kibímetros” probablemente nunca se haya dicho).

Surgen problemas adicionales cuando las redes entran en discusión. Aunque esas personas usan las unidades de base 10, también tienden a hablar de “bits” en lugar de “bytes” y la mayoría de los protocolos de red, incluidos el relleno (bits de inicio y parada) y los códigos de corrección / detección de errores (por ejemplo, bits de paridad). Es decir, para transferir un solo byte (8 bits) de datos, los datos enviados a lo largo del cable pueden ser de 11 bits o más. Entonces, por ejemplo, una conexión de red de 1 Gb / s puede enviar 1,000,000,000 de bits a lo largo del cable cada segundo, pero eso no se convierte en 125,000,000 GB / s de transferencia de datos efectiva incluso en circunstancias óptimas.

Cuando la gente de marketing se involucra, se vuelve confuso también. Las unidades de base 10 suenan mejor que las unidades binarias. Incluso recuerdo haber visto anuncios en las décadas de 1980 y 1990 donde combinaban las unidades de formas especialmente confusas: por ejemplo, un “megabyte” de 1,024,000 bytes (es decir, [matemática] 2 ^ {10} * 10 [/ matemática] [matemática ] ^ {3} [/ math].) Afortunadamente, ese tipo de uso era raro.

Algunas herramientas de Unix le permiten elegir los formatos de salida. Por ejemplo, citando la página del manual para la herramienta “df” (uso del espacio en disco del sistema de archivos de informe):

-h, –legible para humanos

tamaños de impresión en formato legible para humanos (p. ej., 1K 234M 2G)

-H, –si

Del mismo modo, pero use potencias de 1000 no 1024

En las computadoras digitales, es conveniente agrupar las cosas en potencias de dos.

Entonces, la memoria de una computadora puede ser, digamos, 2 ^ 16 bytes de gran tamaño. Sin embargo, estos números son difíciles de visualizar.

Con cantidades normales tenemos este sistema SI de reemplazar grupos de tres potencias de diez por los prefijos “kilo”, “mega”, “giga”, etc.

Ahora resulta que convenientemente, 2 ^ 10 = 1024 está muy cerca de 10 ^ 3 = 1000. Entonces, en el contexto de la informática, la gente comenzó a abusar de “kilo”, que en realidad significa “veces 10 ^ 3” como “veces 2 ^ 10”. Durante mucho tiempo, esto no fue un problema y todos sabían qué pasaba.

Con el aumento de la velocidad y la memoria de la computadora, los discos duros ahora pueden contener fácilmente el número ridículo de 2 ^ 42 bytes. Entonces, simplemente reemplazando 2 ^ 10 por 10 ^ 3 sería (2 ^ 10) * (2 ^ 10) * (2 ^ 10) * (2 ^ 10) * 2 ^ 2 bytes, que sería aproximadamente 4 * 10 ^ 12 bytes = 4 terabytes.

El problema es que ahora usamos la aproximación 4 veces seguidas, y esto hace que la aproximación sea mucho peor. La relación entre un kilobyte real y un byte “kilo” es 1000/1024 = 0.977, lo cual es razonable. Pero la relación entre un terabyte real y un byte “tera” es (1000/1024) ^ 3 = 0.931, que ya es mucho peor.

Si fabrica un disco duro que contiene un terabyte de almacenamiento real (10 ^ 12 bytes), pero la gente espera un byte “tera” (2 ^ 40 bytes), pueden sentirse vendidos: obtienen un 7% menos de almacenamiento de lo que esperaban !

Para abordar esta confusión, las personas intentan hacernos creer en los prefijos “kibi” y demás. Esto es adoptado por algunos, y no por otros. Si las personas no lo usan, hoy en día es imposible decir si están usando poderes de 10 o poderes de 2.

Prefijo binario – Wikipedia

kibibyte ( ki lo byte binario) es una representación binaria, es decir, 1024

kilo byte es una representación decimal, es decir, 1000

a menudo las personas confunden con kbps (minúscula ‘b’) vs kBps (mayúscula ‘B’).

  • kbps – kilobits por segundo
  • kBps – kilobytes por segundo

Esta confusión proviene de los nombres de Windows. Pero volvamos a eso más tarde.

Un kilobyte usa el prefijo kilo-SI que significa 1000 veces algo. Es decir, 1 KB son 1000 bytes. Un kibibyte usa el prefijo kibi-, que no estoy seguro de si es SI o no. kibi- significa 1024 veces algo, entonces 1 KiB es 1024 bytes.

Windows nombra el kibibyte como kilobyte para evitar que el usuario haga frente al prefijo kibi-. Pero por qué han elegido esta escala en lugar de hacer cosas al estilo Linux, ¡ciertamente no lo sé! Quiero decir, mi disco duro de 320 GB (número comercial) es 298 GB (en realidad GiB) en Windows y 319.algo en Linux. Quiero decir, ¿qué pasa con Microsoft?

Un kilobyte usa el prefijo kilo-SI que significa 1000 veces algo. Es decir, 1 KB son 1000 bytes. Un kibibyte usa el prefijo kibi-, que no estoy seguro de si es SI o no. kibi- significa 1024 veces algo, entonces 1 KiB es 1024 bytes

Un kilobyte es 1000 bytes, un kibibyte es 1024 bytes.

Kilobyte – Wikipedia

24 bytes.