domingo, 7 de octubre de 2007

Prefijos Binarios

En el ámbito de la computación se emplean cifras que se expresan casi siempre como potencias de 2, basado en el hecho de que para las computadoras lo normal es lo binario. Inicialmente el prefijo "K" se usaba, y se usa, para expresar el múltiplo más pequeño del byte, unidad de información fundamental, tanto en la memoria principal como en los medios de almacenamiento. La razón es la similitud entre 10^3 y 2^10, que valen, respectivamente, 1000 y 1024. Se escribe en mayúsculas para diferenciarlo de kilo, que es el prefijo que indica el múltiplo 1000 en el Sistema Internacional de Unidades. Posteriormente, a medida que ha crecido la capacidad de almacenamiento de las computadoras, se han ido incorporando nuevos prefijos para expresar múltiplos de byte, tomados directamente del mencionado Sistema Internacional de Unidades, pero basados en potencias de 2. Así lo vemos en la siguiente tabla:


No obstante, el uso incorrecto de los prefijos del Sistema Internacional (con base 10) como si fueran prefijos binarios (con base 2) es causa de serias confusiones. De todas formas, estos prefijos mantienen el significado de las potencias de 10 cuando de lo que se trata es de expresar la velocidad de la transmisión de datos (cantidad de bits): la red Ethernet de 10 Mbps es capaz de transmitir 10.000.000 bps, y no 10.485.760 bps.

El problema se acrecienta por no ser las unidades de información bit y byte unidades del SI. En el SI el bit, el byte, el octeto, el baudio o la cantidad de signos se darían en hertzios. Aunque es más claro emplear "bit" para el bit y "b" para el byte, a menudo se emplea "b" para el bit y "B" para el byte (en el SI, B es la unidad del belio, siendo la del decibelio dB).

El uso convencional sembró confusión: 1024 no es 1000. Los fabricantes de dispositivos de almacenamiento habitualmente usan los factores SI, por lo que un disco duro de 30 GB tiene una capacidad aproximada de 28 * 2^30 bytes, lo que serían 28 GB reales. Los ingenieros en telecomunicaciones también los usan: una conexión de 1 Mbps transfiere 106 bits por segundo. Sin embargo, los fabricantes de disquetes trabajan de otra forma: para ellos, el prefijo M no significa (1000 × 1000) como en el SI, ni (1024 × 1024) como en informática. El disquete común de "1,44 MB" tiene una capacidad de (1,44 × 1000 × 1024) bytes de 8 bits. (Sin olvidar que los disquetes de 3½ pulgadas son en realidad de 90 milímetros.)

En la época de las computadoras de 32K de memoria ROM esta confusión no era muy peligrosa, ya que la diferencia entre 1000 y 1024 es más o menos 2%. En cambio con el acelerado crecimiento de la capacidad de las memorias y de los periféricos de almacenamiento en la actualidad, las diferencias llevan a errores cada vez mayores.

Para tratar de aclarar esta confusión, la Comisión Electrotécnica Internacional (International Electrotechnical Commission IEC) eligió nuevos prefijos binarios en 1998, que consisten en colocar un 'bi' tras la primera sílaba del prefijo decimal (siendo el símbolo binario como el decimal más una 'i'). Por lo tanto, ahora un kilobyte (1 kB) son 1.000 bytes, y un kibibyte (KiB) 2^10 = 1.024 bytes. De la misma forma, mebi (Mi: 2^20), gibi (Gi: 2^30), tebi (Ti: 2^40), pebi (Pi: 2^50) y exbi (Ei: 2^60). Aunque el estándar del IEC nada diga al respecto, los siguientes prefijos alcanzarían hasta zebi (Zi: 2^70) y yobi (Yi: 2^80). Hasta el momento el empleo de estos últimos ha sido muy escaso.



Los nombres IEC están definidos hasta "exbi", correspondiente al prefijo SI "exa". Los otros prefijos, "zetta" (10^21) y "yotta" (10^24) no tienen correspondiente. Por extensión de lo establecido por la norma, se puede sugerir "zebi" (Zi) y "yobi" (Yi) como prefijos para 2^70 y 2^80. Incluso, fuera del ámbito de los organismos de estandarización, se han sugerido los prefijos "bronto" para 2^90 y "geop" para 2^100.

La parte bi del prefijo viene de la palabra binario, por ejemplo, kibibyte significa un kilobinario byte, que es 1024 bytes. Nótese también la K en mayúscula para el símbolo "Kibi-": mientras que la letra para el prefijo análogo en el Sistema Internacional kilo- es una k en minúscula. La K en mayúscula ha sido seleccionada para dar consistencia con otros prefijos y con el uso extendido y erróneo del prefijo del SI (como en "KB").

Para el año 2006 esta convención de nombres ya es empleada por algunos sistemas operativos como GNU/Linux, donde ya existen distribuciones que la exhiben (como Ubuntu), aunque todavía no ha ganado amplia difusión en otros medios.

En la octava edición del Sistema Internacional de Unidades publicada en el año 2006 se especifica que los prefijos del SI se refieren estrictamente a potencias de 10, e indica que los prefijos adoptados por la IEC para potencias binarias en el estándar internacional IEC 60027-2:2005, Símbolos de letras para usarse en tecnología eléctrica - Parte 2: Tele-comunicaciones y electrónica (IEC 60027-2:2005, Letter symbols to be used in electrical technology – Part 2: Telecommunications and electronics) deberían ser usados en el campo de la tecnología de la información para evitar el uso incorrecto de los prefijos del SI, aunque estos prefijos no sean parte del SI.

La IEEE ha aceptado el uso de los prefijos binarios bajo el estándar IEEE 1541 publicado en el año 2002 y elevado a estándar de uso completo en el año 2005. Allí se especifica "B" como el símbolo para el byte (por ejemplo, MB significa megabyte), y "b" como el símbolo para bit; sin embargo la IEC 60027 y el MIXF especifican "bit" (por ejemplo, Mbit para megabit), teniendo la mínima ambigüedad posible de byte "b" vs "B".

2 comentarios:

  1. Interesante saber que esto ha ocurrido, pero al parecer no ha causado impacto alguno en la sociedad informatica. Hago referencia a ello ya que al ver esto me parecio muy raro pero es cuestion adaptarse, supongo que como pasaran muy pronto a segundo plano (o a mejor vida), no seran muy nombrados y los quieren reciclar para el futuro.

    ResponderEliminar
  2. Estimado gigabyte:
    La resistencia al cambio siempre estará presente; el tiempo dirá si se aceptan o no estos términos. Mientras tanto, la confusión sigue...

    ResponderEliminar