Páginas

02 agosto, 2011

Normas ISO/IEC - Estandar 80000: Prefijos decimales y binarios del sistema internacional (Megabyte (MB) - Mebibyte (MiB))

Últimamente he estado dándole vueltas a los prefijos decimales y binarios, las formas de medir la información de datos, transferencia, procesamiento y almacenamiento.

Conceptos a tener en cuenta

  • bit: unidad mínima que maneja una computadora. Se trata de un uno o un cero.
  • byte (B): es un conjunto de 8 bits y representa un caracter.
  • bps: (bits por segundo) unidad de medida de transferencia de información.
  • bytes/s (B/s): (bytes por segundo) unidad de medida de transferencia de información en byte por segundo (un caracter por segundo).

Diferenciar entre el sufijo bit o byte

Por ejemplo con el prefijo "Mega" y sufijo "byte" = Megabyte.
  • Almacenamiento de datos.
  • Transferencia entre dispositivos o componentes del sistema.
  • Procesamiento de datos dentro del equipo.
Pero cuando hablamos de comunicaciones, transferencia de ficheros en internet, conexiones ADSL, etc. Estaríamos hablando con el sufijo bit = Megabit

Por ejemplo un Megabyte (MB), que sería 106 = 1.000.000 (decimal) es decir 220 = 1.048.576 bits (binario). Pero lo correcto en este caso si nos referimos a la cantidad binaria, sería decir Mebibyte (MiB). Ya que estamos utilizando cantidades con potencias de base 2 y no de 10.

Expresiones como "tres megabytes" han sido abreviados incorrectamente como 3M y el prefijo deviene o se fue transformando en sufijo. 

La diferencia entre binario y decimal parece pequeña, pero esto puede generar varios problemas.
El uso incorrecto de los prefijos del Sistema Internacional (SI) (con base 10) se utilizan como si fueran prefijos binarios (con base 2), debido a la causa de serias confusiones.

Los prefijos binarios corresponden a números similares, aunque diferentes, de los factores decimales indicados en el Sistema Internacional de Unidades. Los primeros son potencias de base 2, mientras que los prefijos del SI son potencias de 10.

Figura 1: Prefijos binarios y valores.

Notaciones de los fabricantes respecto a las capacidades de un producto (CD, DVD, USB, SSD, HDD, etc.). El uso binario sembró la confusión: 1024 no es 1000.

Los fabricantes de dispositivos de almacenamiento habitualmente usan los prefijos decimales del SI, por lo que un disco duro de 30 GB tiene una capacidad aproximada de 28*230 bytes, lo que serían 28 GiB (gibibytes).

Esto lleva a la confusión de que cuando compramos un disco duro, por ejemplo, de 500GB los fabricantes hacen esta notación al producto basándose en potencias de base 10 de modo que 1GB = 1000MB. Cuando en realidad 1GB = 1024 MB, si tratamos la representación de la información en base 2, los que los equipos interpretan la forma binaria.

De este modo los fabricantes emplean el sistema decimal para la representación de la capacidad en el que 1 GB = 1.000.000.000 bytes (10^9), mientras que el sistema operativo (que opera en binario) interpreta la información como 1 GB = 1.073.741.824 bytes (2^30), por tanto veríamos en nuestro sistema operativo 465,66 GB.

Este cálculo sería de la siguiente forma. Utilizando el ejemplo de 500GB.
  • 500.000.000.000 bytes / 1024 = 488.281.250 KB
  • 488.281.250 KB / 1024 = 476.837,15 MB
  • 476.837,15 MB / 1024 = 465,66 GB
Aunque realmente el prefijo correcto sería: 465,66 GiB (GibiBytes) que equivaldrían a: 500 GB (GigaByte). 
Aunque es verdad que unos muy pocos Megabytes (3 MB a 4 MB aprox.) son ocupados para el acceso al disco, sistema de ficheros y de más.

Sin embargo en las comunicaciones se usa de forma diferente ya que tratan información NO de capacidad de almacenamiento, si no de transmisión de datos: una conexión de 1 Mbit/s transfiere 106 bits por segundo.

Norma ISO/IEC

  • IEC: International Electrotechnical Commission - Comisión Electrotécnica Internacional.
  • ISO: International Organization for Standardization - Organización Internacional para la Estandarización.
En 1999 la IEC publicó una norma que fue aprobada en 1998 donde introdujo los prefijos kibi, mebi, gibi, tebi, pebi, exbi, etc. para ser utilizado en la especificación de los múltiplos binarios de un cantidad de información. El nombre "bi" es una abreviatura que proviene de las dos primeras letras "binary" (binario). La IEC también aclara que, los prefijos del SI sólo tienen su potencia en base 10 si no que tienen una potencia en base 2.

Figura 2: Prefijos, simbología y significados.

Como podremos observar en esta imagen. Ya se utilice los prefijos: Kibi, Mebi, Gibi, etc. los sufijos bit o byte se conservan y se utilizan igual según los estándares, el estándar ISO/IEC 80000.
Ya que utilizar los sufijos bit o byte simplemente se tienen que diferenciar en el uso de estos, según de lo que se esté hablando. Como ya mencioné en el apartado: "Diferenciar entre el sufijo bit o byte".

En el año 2006 esta convención de nombres ya empezó a ser utilizada por algunos sistemas operativos como GNU/Linux, aunque todavía no ha ganado amplia difusión en otros medios.

Las normas ISO 31 y IEC 60027 están en el presente 2011, siendo revisadas por las dos organizaciones de estandarización en colaboración. El estándar revisado y armonizado se conoce como ISO/IEC 80000, Cantidades y Unidades (en inglés, ISO/IEC 80000, Quantities and Units), y define el Sistema Internacional de Magnitudes; ya se ha publicado, en marzo del 2008, la parte 13 (Information science and technology) que incorpora los prefijos binarios del IEC.

Estándar IEEE

El IEEE (Institute of Electrical and Electronics Engineers - Instituto de Ingenieros Eléctricos y Electrónicos) 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.

Las recomendaciones dadas en el IEEE 1541 son unidades usadas para hacer referencia a cantidades usadas en la electrónica digital y en la computación:
  • bit (símbolo b), un dígito binario.
  • byte (símbolo B), submúltiplo del tamaño de palabra de un microprocesador compuesto por un grupo de bits adyacentes (usualmente, pero no necesariamente, de ocho bits).
  • Octeto (símbolo o), un grupo de ocho bits. un octeto es la traducción al término francés octet que es el usado por el estándar.
Prefijos para indicar los múltiplos binarios de las unidades antes mencionadas:
  • kibi- (símbolo KiB), 210 = 1.024 bytes
  • mebi- (símbolo MiB), 220 = 1.048.576 bytes
  • gibi- (símbolo GiB), 230 = 1.073.741.824 bytes
  • tebi- (símbolo TiB), 240 = 1.099.511.627.776 bytes
  • pebi- (símbolo PiB), 250 = 1.125.899.906.842.624 bytes
  • exbi- (símbolo EiB), 260 = 1.152.921.504.606.846.976 bytes
Los prefijos del "Sistema Internacional" no se usan para indicar múltiplos binarios.

Como ya mencionara anteriormente, pero vuelvo a decir, la parte bi del prefijo viene de la palabra binario, por ejemplo, kibibyte significa un "kilobinary byte" (kilobyte binario) que son 1.024 bytes.

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").

El IEEE 1541 está estrechamente relacionado con la Enmienda 2 al Estándar IEC Internacional IEC 60027-2 pero con la diferencia que este último usa el símbolo bit para el bit.

Luego llegan los múltiplos, la "k" de kilo. Aquí hay algunas confusiones, en un principio, por practicidad y rapidez de cálculo podríamos decir:
15 kbytes equivale a 15.000 bytes. Por lo tanto para pasar de una a otra se multiplica o divide por 1000 respectivamente.
Pero si queremos ser estrictos, en computación (y sólo en computación) 1 kb (kilobyte) equivale a 1024 bytes. O sea, la k equivale a 1024 y no a 1000 como en otras medidas.
  • 1000 bits = 1 kbits (kilo bit)
  • 1000 bps (bits por segundo) = 128 bytes/s = 0.125 KB/s (kilobyte por segundo)
  • 1024 bytes = 1 KB (kilobytes)
  • 1024 bytes/segundo = 1 KB/s (1 kb por segundo)
  • 1024 KB = 1 MB (megabyte)
  • 1024 KB/s = 1 MB/s (un megabyte por segundo)
Figura 3: Comparativa del antiguo estándar y el estándar IEC.

Los proveedores de internet hablan de velocidades de bajada de 64 kbps, 128 kbps, 256 kbps, 512 kbps, 1 mega (1024 kbps), 2 megas (2049 kbps), 5 megas, 10 megas, 20 megas, etc. (o sea, lo expresan en bits por segundo). Pero tanto en Internet Explorer y otros navegadores web como en programas de descargas y en Internet en general, se habla en KB (que es, en definitiva, lo que ocupa un archivo) y en KB/s (kilobyte por segundo); por lo tanto, es interesante saber de cuánto es la velocidad de bajada expresada en KB por segundo. Esto puede traer confusión a los usuarios no expertos pues podrían pensar que bajarían 1 megabyte de información por segundo, pero en realidad bajan 1 megabit de información en un segundo.

En principio es más conveniente saber la velocidad de descarga (y de subida) de la conexión en KB/s, pues es más fácil entenderlo. Si, por ejemplo, un archivo se está descargando a 25 KB/s, sabremos que se están descargando 25 mil caracteres del archivo por segundo (y más precisamente, 25600 caracteres).

Ahora las conversiones entre bps y bytes/s.
Como en general no necesitamos demasiada precisión, tomaremos el camino más fácil, y la "k" corresponderá a 1000 y no a 1024.

Conversiones entre bps y bytes/s

Supongamos que tenemos una conexión de 128 kbps o 128.000 bps.

8 bps -----------> 1 byte/s
128.000 bps ---> X bytes/s

X = (128.000 bps x 1 byte/s ) / 8 bps = 16.000 bytes/s = 16 KB/s

Se estarán bajando unos 16 mil caracteres por segundo.

¿Por qué hay dos sistemas de medir la velocidad?

Hay varias razones. En el caso de la conexión a Internet, sin duda la mejor forma de medirla es por KB/s (kilobytes por segundo), pues estamos tratando siempre con archivos formados por caracteres (1 byte) y recordemos que un caracter está formado por 8 bits. Pero hay casos en que la transmisión es serial (bit por bit) y la información no necesariamente está "empaquetada" en caracteres de 8 bits.
También hay empresas que se aprovechan de la confusión generada por los kbps y los KB/s para su beneficio.

Saludos!

No hay comentarios

Publicar un comentario

Entradas Populares