1.7.1 Tecnicismos - I -
§1 Presentación
Se incluyen en este capítulo una serie de conceptos no directamente relacionados con el lenguaje C++, aunque si desde luego con la Informática, y que más pronto que después, tendrá que manejar cualquier programador. Se trata de un cajón de sastre que incluye conceptos y definiciones que en su momento me hubiera gustado encontrar explicitadas en algún sitio, y que con demasiada frecuencia se dan "por sabidas", cuando en realidad algunas son de cultura general informática, pero de tal naturaleza que quizás no estén incluidas en ninguna asignatura, de forma que las más de las veces el futuro informático tiene que aprenderlas por su cuenta. Así pues, pido perdón a los "puristas"; a los que opinen que estos contenidos son impropios de un "Manual de C++" (sí, un día de estos cambiaré el título), pues sencillamente... pueden pasar la página.
§2 Unidades de medida
Permitidme introducir un cuadro recordatorio de los múltiplos y divisores de las unidades de medida; muchas de ellas son de uso frecuentísimo en informática y en ocasiones no recordamos que significan exactamente.
Yx | Yota | 1024 = 1.000...(24 ceros)...000 | Millón de trillones |
Zx | Zeta | 1021 = 1.000...(21 ceros)...000 | Mil trillones |
Ex | Exa |
1018 = 1.000.000.000.000.000.000 |
Trillón español (un millón de Teras) [8]. |
Px | Peta | 1015 = 1.000.000.000.000.000 |
Mil billones (español), un millón de Gigas |
Tx | Tera | 1012 = 1.000.000.000.000 |
Millón de millones; Billón español, Trillón USA [5]. |
Gx | Giga | 109 = 1.000.000.000 |
Mil Millones (mil Megas); el Billón USA. Ej. 1 GB. [12] |
Mx | Mega | 106 = 1.000.000 |
Millón. Ejemplo: 1 MB = 1 Megabyte |
Mx | Miria | 104 = 10.000 |
No usado en informática |
Kx | Kilo | 103 = 1.000 |
Millar (mil). Ejemplo: 1 KB = 1 Kilobyte |
Hx | Hecto | 102 = 100 |
No usado en informática |
Dx | Deca | 101 = 10 |
No usado en informática |
x | unidad | 100 = 1 |
Unidad Ejemplo 1 B = Byte; 1 b = bit |
dx | deci | 10-1 = 0.1 |
décima |
cx | centi | 10-2 = 0.01 |
centésima |
mx | mili | 10-3 = 0.001 |
milésima. Ejemplo: 1 ms = milisegundo |
μx | micro | 10-6 = 0.000.001 |
millonésima. Ejemplo: 1 μ F = microfaradio |
nx | nano | 10-9 = 0.000.000.001 |
milmillonésima. Ejemplo: 1 ns = nanosegundo |
px | pico | 10-12 = 0.000.000.000.001 |
billonésima. Ejemplo: 1 pF = picofaradio |
fx | femto | 10-15 = 0.000.000.000.000.001 | milbillonésima. |
ax | atto | 10-18 = 0.000.000.000.000.000.001 | trillonésima |
zx | zepto | 10-21 = 0.000...(20 ceros)...001 | miltrillonésima |
yx | atto | 10-24 = 0.000...(23 ceros)...001 |
|
Nota-1: El micro se identifica con la letra griega "μ. Pero puede sustituirse por una "u" si no se dispone de dicho alfabeto. Ejemplo: 1 uF = microfaradio. En la literatura especializada es frecuente leer expresiones como "micrones" o "micras" para referirse a este divisor (lo correcto sería decir micrómetros). Por ejemplo, podemos leer: "La nueva tecnología de conductores de cobre en los procesadores permite rebajar a 0.13 el tamaño de los de los actuales conductores de aluminio de 0.18 micrones".
Nota-2: Algunos tratados y libros de informática se empeñan en enseñarnos que 1KByte es igual a 1.024 Bytes, que 64 KB son 65.536 Bytes y que 1 MByte son 1.048.576 Bytes, lo que supongo causa gran consternación entre las personas "normales". Estos autores se saltan las normas de urbanidad y buena conducta (para con el resto de los mortales) e inventan directamente su particular sistema de medidas [9]. Las definiciones utilizadas serían las siguientes:
Px | Peta | 250 = 1.125.899.906.842.624 |
Tx | Tera | 240 = 1.099.511.627.776 |
Gx | Giga | 230 = 1.073.741.824 |
Mx | Mega | 220 = 1.048.576 |
Kx | Kilo | 210 = 1.024 |
Afortunadamente parece que las cosas volverán a su cauce. Aunque todavía no es de general utilización, en Diciembre de 1998 la IEC [10] ha propuesto una estandarización para uso en el mundo digital (afortunadamente un Kilobit vuelve a tener 1000 bits):
Ei | Exbi | 260 = 1.152.921.504.606.846.976 |
Pi | Pebi | 250 = 1.125.899.906.842.624 |
Ti | Tebi | 240 = 1.099.511.627.776 |
Gi | Gibi | 230 = 1.073.741.824 |
Mi | Mebi | 220 = 1.048.576 |
Ki | Kibi | 210 = 1.024 |
La razón de esta anormalidad del sistema métrico decimal cuando se refiere a medidas "informáticas", hay que buscarla en las consideraciones ya señaladas al tratar del almacenamiento interno de los Ordenadores Electrónicos Digitales ( 0.1). El hecho de que sean binarios sus dispositivos físicos y su sistema de numeración, hace que esta característica se refleje en muchos detalles, de forma que las potencias de dos (2n) aparecen constantemente [6]. Por ejemplo, en la serie 1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, ..., 32.768, 65.536, ..., 524.288, 1.048.576, ... lo más próximo a 1K es 1.024, de forma que como en los sistemas reales la memoria crece en módulos que son múltiplos de dos, lo más "parecido" a 1KB son 1.024 Bytes (justamente de 1000 Bytes no encontraremos nada, no se fabrica).
Como complemento a lo anterior, a reproducimos el comentario de Raimond Chen, en su obra "The Old New Thing". Addison-Wesley [7].
In 2003, a lawsuit charging computer manufacturer of misleading
consumers over hard drive capacity caused a momentary uproar. The manufacturers use the ISO definition, wherein a "gigabyte"
is one billion bytes, even though most people consider a gigabyte to be 1024 megabytes.
This is a tricky one. The computer industry is itself inconsistent as to whether the "kilo", "mega", etc. prefixes refer to powers
of ten or powers of two. The only place you see powers of two is when describing storage capacity. Everything else is powers of ten:
Your 1GHz processor is running at one billion cycles per second, not 1,073,741,824 cycles per second. Your 28.8K modem runs at 28,800
bytes per second, not 29,491. And your 19" monitor measures only 17.4" inches
diagonally. (Okay, that last one was a joke, but it's another case where the
quoted value in't ncessarily measured the way you expect.)
IEC standard designations for power-of-two multipliers. A kibibyte (KiB) is 1024 bytes, a mebibyte (MiB) is 1024 KiB, and a gibibyte (GiB)
is 1024 MiB. Good luck finding anybody who actually uses these terms.
At least they don't report sized in terms of unformatted capacity any more.
§2.1 Al objeto de proporcionar una escala conceptual de lo que significan estos múltiplos y divisores
de la unidad, a continuación mostramos una tabla con algunas magnitudes relacionadas con la unidad de longitud.
Factor | Ud | unidad | Escala |
1024 | Ym | Yotámetro | Escala cósmica (el tamaño del universo observable es de 10.000 Ym). |
1015 | Pm | Petámetro | |
1012 | Tm | Terámetro | Distancias planetarias (la distancia media de Saturno al Sol es de 1.4 Tm) |
109 | Gm | Gigámetro | Escala planetaria (la tierra tiene 0.127 Gm de diámetro, Saturno 2.398 Gm) |
106 | Mm | Megámetro | Escala de un país (1.000 Km) |
103 | Km | Kilómetro | Escala de un pueblo |
100 | m | metro | Escala del hombre (1-2 m) |
10-2 | cm | centímetro | Un ratón (5 cm), microondas. |
10-3 | mm | milímetro | Un insecto |
10-6 | μm | micrómetro | Escala bacteriana (el tamaño típico de una bacteria está entre 1 y 10 μm). Nanotecnología |
10-9 | nm | nanómetro | Escala molecular (una molécula de agua mide 1 nm). Longitud de onda de los rayos X. |
10-12 | pm | picómetro | Escala atómica |
10-15 | fm | femtómetro | Escala subatómica (tamaño del núcleo del átomo) |
[5] Un Terabyte equivale aproximadamente al contenido de un millón de libros (suponiendo la utilización de un juego de caracteres de 8 bits) .
[6] Esta correspondencia entre la forma externa y los principios físico-matemáticos que la sustentan, es justamente lo que caracteriza y hace bellos los diseños ingenieriles de cualquier clase, ya sean un puente, o una memoria de ordenador.
[7] Raimond Chen es un programador de Microsoft relacionado con el desarrollo del SO Windows durante más de una década y mantenedor de un conocido e influyente blog. Existe una versión online del comentario en http://blogs.msdn.com/
[8] Según un estudio dirigido por los profesores Peter Lyman y Hal Varian de la School of Information Management and Systems de Berkeley, el total de información nueva que se almacenó mundialmente en papel, película, medios ópticos o magnéticos en 2002, fue de aproximadamente 5 Exabytes (en 1999 fue la mitad). De este total, el 92% fue almacenada en medios magnéticos (discos). En el mismo periodo de 2002, el total de información que fluyó por medios electrónicos, radio, televisión e Internet, fue de unos 18 Exabytes.
[9] El Sistema Internacional de Unidades SI, fue aprobado en 1960 en la Onceava Conferencia General de Pesos y Medidas. En 1970 el SI ya había sido adoptado como sistema legal en más de 30 países y recomendado para el uso científico en todo el mundo. En España es adoptado como sistema legal el 8 de Noviembre de 1967, con modificaciones de detalles técnicos el 25 de Abril de 1974. En el artículo segundo de la citada Ley se recogen de forma inequívoca los valores y designación de los diversos múltiplos y divisores (en el resto de países que adoptan el SI se utilizan definiciones análogas).
[10] IEC International Electrotechnical Commision http://physics.nist.gov/
[12] Cuando se mide el tiempo, el múltiplo "Mil millones de años" tiene un nombre propio: Eón.
[13] Este capítulo de la historia informática ocurrió a finales de los 90 y alguien lo ha denominado la WWI (Web War I)