LuchoWiki

Cosas que debería hacer más a menudo

User Tools

Site Tools


miscelaneos:notacion_de_bytes

Notación de Capacidades en Bytes

#:leyenda lpp_Dinitial[ «Dice la leyenda, que alguna vez, los males del mundo, el Mal Mayor y su esclava sexual, se unieron para tratar de expandir sus males más alá de la Tierra, tratando de obtener información de otros planetas, y fue Marte el elegido.

Sin embargo, la naturaleza misma del Mal les previno del éxito: en tareas que requerían de enorme capacidad de cómputo, de precisión exacta y de un apego estricto a las instrucciones, fue eso mismo lo que detuvo en seco sus planes. Verán, mientras los unos medían en “pies” o “pulgadas”, sentían en “fahrenheit” y bebían en “pulgada cúbica”, la esclava sexual, al menos más atenta al mundo sobre el que estab parada, usaba, igual que la mayoría, medidas más estandarizadas y prácticas, midiendo en “metros”, sintiendo en “celsius” o “kelvin”, y bebiendo “mililitro cúbico”.

Al final, fue esa falta de coordinación, provocada por el eterno Orgullo del Maligno, la que desató el colapso, cuando la esclava sexual siguió las indicaciones al pie de la letra sin darse cuenta, que las mediciones eran las correctas, pero eran las medidas las que eran fallidas por su diseño. Ese día la herramienta de exploración interplanetaria, se perdió, en la inmensidad del espacio, probablemente colisionada contra el suelo del rojizo planeta alno entender que debía abrir paracaidas a 1000 metros en vez de a 1000 pies.

Y, así, los daños que ha provocado el Mal Mayor se han limitado, al menos, a nuestro propio mundo, en espera que algún día sus esclavas sexuales1) decidan que han tenido suficiente de estas enfermedades venéreas2) y se decidan por un estilo de vida que permita a aquellos que enemos que compartir este mundo con ellos3), una vida digna.»

]#

Los seres humanos, por ser “gregarios”, tenemos que comunicarnos unos a otros las cosas, haciendo uso de ya sea nuestros órganos sensoriales, o los medios que el entorno dispone, usualmente transformados por un proceso de Ingeniería.

A veces pueden pasar cosas malas, cuando no se coordina realmente los esfuerzos y las especificaciones utilizadas para realizar mediciones. Tal vez A. Smith4) y B.Smith están pensando en un “cuadrado”, pero a menos que A.Smith tenga a su disposición una regla o algún otro objeto que pueda usar como guía, lo que le va a transmitir a B. Smith será algó así como un “rectángulo”, o, en el peor de los casos, un “trapezoide”; independientemente de sus intenciones originales, y aún con B. Smith sabiendo que él “debería” recibir un “cuadrado”. Esto es una clásica falla en el medio de información, y, por tanto, según Marshall McLuhan, en el mensaje. Y es la informática una de las áreas más afectadas por esta clase de problemas.

La problemática menos obvia, pero una de las más primordiales para nosotros los informáticos, es que la gente cuenta mal los bytes al usar los prefijos del Sistema Internacional. Veamos… Cuando un humano común y corriente dice que un planeta tiene, por ejemplo, 12 megametros (12 Mm) de diámetro5), quiere decir que el diámetro es de:

12 Mm = 12 × 10^6 m = 12 000 000 m, o sea “doce millones de metros”.

Pero, cuando un informático decente dice que el backup del índice de archivos de su servidor pesa (o “mide”), por ejemplo, 12 megabytes, no quiere decir que el tamaño del archivo es de:

12 MB = 12 × 10^6 B[ytes] = 12 000 000 B, o sea “doce millones de bytes”

; sino, que en realidad, quiere decir que el tamaño del archivo es de:

12 “MB” = 12 × 1 “MB” = 12 × 1 048 576 B, o sea, “doce millones quinientos ochenta y dos mil novescientos doce bytes”.

¿Por qué la diferencia? — Porque, como todo en la informática, las medidas y capacidades están muy ligadas al hecho que la iformación digital es binaria: en otras palabras, todo está ligado al número 2. Una unidad mínima de información en informática es el bit: un indicador de dos estados: 0/1, verdadero/falso, encendido/apagado, o como quieran llamarle.

Es sobre ese elemento “bit” que se construye la información digital: cuando sampleamos información del mundo real, como sonido o temperatura, para traspasarlo a un valor digital, lo hacemos en registros en bits, estamos implícitamente almacenando valores discretos en escalas de potencias de 2, de la misma forma que cuando medimos en nuestro sistema decimal estamos implícitamente aceptando escalas de potencias de 10. Esto es, porque sólo en una escala cuyo tamaño sea potencia exacta de nuestra base de numeración, podemos asginar todos los valores posibles. Para verlo más claro: una calidad de sonido de “320 kilobits por segundo”, debiera significar, dada la interpretación literal, que estamos almacenando valores en una escala que requiere 320 kilobits para ser almacenada, por lo cual podemos almacenar medidas con 320 000 valores posibles por segundo.

Esto nos afecta cuando decidimos, en algún momento, crear una unidad de información “transable” entre el mundo analógico y el digital, acumulando ocho bits en fila y llamándolos “byte”. Como un “byte” es un registro de 8 “bits”6), puede tomar uno cualquiera de 2^8 = 256 valores posibles (las combinatorias posibles de 8 entidades de 2 valores). — Luego juntamos dos de estos, y lo llamamos “palabra” o “word”, pudiendo almacenar 2^16 = 65 536 valores posibles. Juntamos dos de éstos y lo llamamos (qué original) “palabra doble”, pudiendo almacenar algo más de 4 mil millones de valores posibles… y así hacia adelante, siempre progresando de a dos, siempre progresando “en digital”.

Ergo, si vamos a transar con esta clase de unidades, nuestras medidas tenían que ser también digitales si las íbamos a implementar en el mundo real: cuando se crearon los primeros discos duros, éstos almacenaban información en unidades básicas, llamadas “bloques”, de 512 byte cada uno. Esto es 512, como en 2^9 = 512. ¿Ves? Ahí está el dos de nuevo. No podían ser 511, ni 500, ni 100, que es potencia exacta de 10, sino que debían ser 512, porque en el diseño del sistema, en la transmisión de los datos, en toda la ingeniería del proceso, estaba presente el número 2.

Y entonces surge la pregunta… ¿cómo expreso el hecho de tener una unidad de información que significa almacenar 1000 veces lo que almacena un byte? Una interpretación literal nos dice que debiéramos decir “kilobyte” para representar el siguiente valor:

1 kilobyte = 1000 * 1 byte = 1000 byte

Pero lo cierto es, que esa interpretación no sirve de nada. No hay medida digital que pueda almacenar 1000 bytes, pues, 1000 no es una potencia de 2. No sólo eso: 1000 bytes equivale a 8000 bits, y no hay medida digital que almacene 8000, porque 8000 no es potencia de dos. Nosotros como humanos estamos acostumbrados a interpretar los prefijos del sistema como “Multiplicadores de 10”, pero, resulta que ya no estamos trabajando con base 10, sino con base 2.

Se decidió (iré a saber como), que con dos (otra vez) bloques de esos de 512 bytes, podían almacenarse 1024 bytes, lo suficiente como para cubrir los 1000 bytes que requería la medida, pero debía hacerse “íntegramente”; es decir, usando los 1024 bytes por completo. Por tanto, a esa unidad correspondiente a dos “bloques”, se le dio el nombre de “kilobyte” para representar el hecho que representaba la mínima capacidad para almacenar 1000 bytes de información. Los 24 bytes de sobra, siguen formando parte de esa información, sin embargo, por tanto un kilobyte no son 1000 bytes, sino 1024 bytes. Y 1024 bytes = 8192 bits, que es una potencia exacta de 2 y por tanto puede ser representada por una escala digital.

Y si queríamos seguir progresando hacia arriba, debíamos hacerlo, nuevamente en digital. Si queríamos obtener una capacidad que representara 1000 kilobytes, debíamos hacerlo buscando aquella capacidad que representa 1024 unidades de 1 “kilobyte”. A esta unidad se le llamó “megabyte”, y representa 1024 unidades de 1024 bytes, es decir, 1 MB = 1024 × 1024 = 1 048 576 bytes. Y 1 048 576 bytes = 8 388 608 bits, y ese número es potencia exacta de 2, por lo que puede ser usado como base de una escala digital.

Así sucesivaente, hemos ido llegando a los “gigabyte” y los “terabyte”, sin preocuparnos demasiado por los problemas de ese cambio de medida, hasta que algún pobre hombre, pensó en comprar un disco duro en el que pudiera almacenar 380 mil imágenes de 1 megabyte cada una. Como lo que se le enseñó en la escuela es que “380 mil mega byte = 380 mil millones de bytes = 380 × 10^9 bytes, pidió un disco duro de esa capacidad, y eso fue lo que le pasó el vendedor, quien había pedido a la compañía de discos, un disco duro de “380 mil megabytes”; y el ingeniero eléctrico que diseña los aparatos, sin darse cuenta que no está representando la cuenta en la base correcta, creó un dispositivo que almacena esa cantidad, que no es una potencia exacta de 2, por lo que no está usando correctamente la arquitectura de sectores de 512 bytes.

Así que el pobre hombre llega a su casa y trata de almacenar en su disco los 380 mil megabytes de información. Pero mientras la cantidad de información que tiene que almacenar es de 380 × 1000 × 1048576 ≅ 398 458 880 000 bytes, el dispositivo que ha comprado sólo le permite almacenar 380 × 1000 × 1000000 ≡ 380 000 000 000. El pobre pero buen hombre está perdiendo ni más ni menos que 98 458 880 000 bytes, algo así como ¡¡93 mil imágenes!!… ¿Quién tiene la culpa de esta pérdida?

  • El informático, que no cuenta en base 10.
  • El ingeniero eléctrico, por no medir de la forma correcta al diseñar el aparato.
  • El vendedor, por no saber lo que está vendiendo.
  • El comprador, por no informarse acerca de los requisitos de su operación al momento de adquirir sus recursos.

Si la respuesta que Ud., querido lector está pensando, es ”el informático“, pregúntese: ¿por qué debiera el informático contar en base 10, si está trabajando con procesos cuya naturaleza es ser base 2? ¿Le pediría usted a un militar o a un encargado de ferrocarriles, que le diga la hora en base decimal? ¿Aborrece Ud. la idea que en un mes haya 30 días y no 100, o que en un año haya 12 meses y no 10, o 20? ¿Cree que no debe haber 24 sino 100 horas en un día? ¿Y que los minutos de la hora deben ser igualmente 100, o en el mejor e los casos, 50? Lo siento, pero los informaticos trabajamos con las medidas naturales de los procesos que investigamos, de la misma forma que lo hace cualquier otro profesional que debe observar, inferir y modelar en base a loque sucede en la naturaleza.

Si la respuesta que Ud., querido lector está pensando, es ”el ingeniero eléctrico“, tiene la razón. El ingeniero, por su facultad de tal, debe saber que el informático está modelando procesos que suceden de una forma distinta a como le enseñaron a contar en el colegio. Y si no lo sabe, entonces, como ingeniero, tiene la responsabilidad de consultar a un experto informático, y luego debe comprender esa información y traducirla a una medida de proceso comprensible por eléctricos. Para eso es el título, para eso se le está pagando. Si quisiera un robot, existe Arnold Schwarzenegger.

Aquí descubrimos entonces, que la base del problema es la notación: los ingenieros no queremos decir lo mismo que los simples mortales dicen con “kilo”, “mega”, “giga”, o “tera”; pero el lenguaje no nos deja alternativa, ya que son esos los prefijos multiplicadores y no otros.

Entonces, se decidió a inicios de siglo que, para evitar confusiones, se adoptarían prefijos paralelos al SI, y cuya significancia sería la de asociar el sentido del multiplicador en un contexto binario. Se les ha llamado “los prefijos bi”, y son como sigue:

  • Un kibibit (o byte) corresponde a 1 024 = 2^10 bits (o bytes).
  • Un mebibit (o byte) corresponde a 1 048 576 = 2^20 bits (o bytes).
  • Un gibibit (o byte) corresponde a 1 073 741 824 = 2^30 bits (o bytes).
  • Y así sucecivamente, reemplazando la segunda sílaba del prefijo por el grafema “bi”, y asociando el contexto al crecimiento en tasas de 2^10 en vez de 10^3.

Usted podría pensar, querido lector, ”¿Y qué me importa si pido un disco de 1 Gibibyte o un disco de 1 Gigabyte?“ — Para convencerlo que debe contar de la forma correcta – la informática, le he preparado esta tabla donde puede ver los valores de los prefijos internacionales y paralelos, la tasa de diferencia, y la pérdida, es decir, qué está perdiendo con esa diferencia.

Tabla de Diferencias de prefijos SI y prefijos informáticos paralelos
Mlt Nombre Factor de Potencia Diferencia
SI
Binario
SI
Binario
Pérdida
1 kilo
kibi
10^3 = 1 000
2^10 = 1 024
24 u ≡ 2.35%
aprox. un verso de un haiku, o un número de teléfono de los Estados Unidos en formato largo.
2 mega
mebi
10^6 = 1 000 000
2^20 = 1 048 576
48576 u ≡ 4.64%
una carta de una plana en formato RTF,
o hasta 4 pag. de texto en inglés en formato ODF,
o una imagen JPEG de 200×200 pixels.
3 giga
gibi
10^9 = 1 000 000 000
2^30 = 1 073 741 824
~73740 miles de u ≡ 6.9%
una cartera de:
40 juegos de SuperNintendo, o 5 de Nintendo 64,
o 3 h. de música en formato abierto Ogg Vorbis a mediana calidad,
o 2:20 h. de música en formato cerrado MP3 a mediana calidad,
o una distribución de Linux completa.
4 tera
tebi
10^12 = 1 000 000 000 000
2^40 = 1 099 511 627 776
~99 512 millones de u ≡ 10%
¡casi 100 Gigabytes!, lo que corresponde más o menos a:
un disco duro modelo año 2000,
dos veces todos los capítulos emitidos de la serie norteamericana “24” (144 ep. de 44 min. c/u) en formato NTSC de 720 pixels (“DVD-Rip”),
o 499 778 015 pantallas de registros de error de un servicio en Linux, asumiendo pantallas de 25 líneas y 80 columnas,
o derechamente, ¡20 DVDs!.
5 peta
pebi
10^15 = 1 000 000 000 000 000
2^50 = 1 125 899 906 842 624
~126 billones de u ≡ 12.5%
(o 126 tera-unidades)
imagino que quedó Ud. llorando con esos 20 DVD perdidos, y ahora le estoy diciendo que va a perder 120 veces esa cantidad, es decir, unos 2400 DVD… o 800 Blu-Ray/HD-DVD…
o, para ponerlo de forma más simple:
una fotografía de Chile visto desde el espacio, con un marco de 4000×200 km, con una resolución aproximada de 151 GiB por km².

TODO: por completar

Licencia

1)
Inglaterra, España, Italia, etc…
2)
la “Paz Nuclear”, McDonalds, la DCMA, los estatutos WIPO, DRM, la campaña antipiratería de la RIAA y la MPAA, la Doctrina Monroe, etc…
3)
los indignamente llamados “El Tercer Mundo”
4)
no confundir con el Agente Smith
5)
Exedore: “We hold a distance of 800 megametres from the 12 megametre planet, about the same size and density as Earth”, en “Robotech: Prelude to Shadow Chronicles
6)
para la mayoría de las arquitecturas de computadores actuales; algunas arquitecturas usan “bytes” de 5, 9, o 36 “bits”
miscelaneos/notacion_de_bytes.txt · Last modified: 20100115 03:28 (external edit)