Ya hemos visto que un sistema operativo es el conjunto de software que gestiona el hardware de un computador y sirve como soporte para el resto de los programas informáticos. Las dos familias de sistemas operativos más conocidas son Windows (de la empresa Microsoft) y UNIX (desarrollado originalmente por la compañía telefónica AT&T).
Algunas de las versiones más populares de Windows han sido: Windows 95, Windows XP y el infame Windows Vista. La evolución de UNIX ha dado lugar a infinidad de sistemas operativos, como macOS (utilizado en los ordenadores de la marca Apple), decenas de versiones de Linux (llamadas «distribuciones», siendo Ubuntu, Debian o Red Hat algunas de las más conocidas), iOS (el sistema operativo de los iPhone y iPad) o Android (desarrollado por Google para su uso en móviles y tabletas).
Figura 2.2 Primer logotipo de Apple, y es que el nombre de la compañía está inspirado en Newton. El nombre del sistema operativo de Apple proviene de «McIntosh», una variedad de manzana.
Existen cientos de sistemas operativos. Una calculadora, una televisión, una videoconsola, un coche o un cajero pueden tener su propio sistema operativo.
Andrew Stuart Tanenbaum es el autor del primer clon de UNIX, llamado MINIX. Basándose en MINIX, el finlandés Linus Torvalds creó Linux en 1991, con tan solo veintiún años, y así es como lo anunció: «Estoy haciendo un sistema operativo gratuito (solo es un hobby, no será algo grande y profesional) […]. Probablemente nunca funcionará con otra cosa que no sean discos duros AT, pues eso es todo lo que tengo :-(».
Se estima que hoy el 40 % de los servidores usan un sistema operativo basado en Linux, más que cualquier otro sistema operativo. No obstante, Linux no es un sistema operativo completo, sino que solo es el núcleo (también llamado kernel) de un sistema operativo. Una distribución de Linux sí es un sistema operativo completo que usa Linux como núcleo, con o sin modificaciones.
Figura 2.3 Tux, diseñado por el programador Larry Ewing, mascota de Linux.
Linux es software libre (cualquiera puede modificarlo) y gratuito, aunque las distribuciones de Linux no tienen por qué compartir estas características.
Tu antiguo teléfono móvil funcionaba con Symbian. Google comercializa portátiles con Google Chrome OS. Los televisores de la marca LG cuentan con webOS, que antes usaron HP y Palm en sus PDA. ¿Alguien recuerda Blackberry? La Universidad de Berkeley es la autora de FreeBSD, un derivado de Unix cuyo nombre significa Free Berkeley Software Distribution. En Sun Microsystems, actual Oracle, utilizan Solaris, basado en Linux. Y, cuando en 1985 despidieron a Jobs de Apple, lideró la creación de NeXTSTEP, basado en Unix.
El castellano utiliza algo más de 100 caracteres:
•Las letras del abecedario en mayúsculas (27 caracteres)
•Las letras del abecedario en minúsculas (27 caracteres)
•Las vocales minúsculas y mayúsculas con tilde (10 caracteres)
•La u, mayúscula y minúscula, con diéresis (2 caracteres)
•Los números (10 caracteres)
•El espacio (1 carácter)
•Las divisas, los signos de puntuación, interrogación, exclamación, matemáticos, el salto de línea, los guiones, las comillas, los paréntesis, los corchetes, la arroba… (al menos 40 caracteres más)
En el chino mandarín existen más de 50 000 caracteres diferentes, pero «solo» unos 10 000 son de uso común. En el otro extremo tenemos el idioma hawaiano, que únicamente necesita 12 letras para representar todas sus palabras. El lenguaje binario, en lugar de contar con 100, 50 000 o 12 caracteres, cuenta solo con dos: el «1» y el «0». Todos los mensajes posibles se forman con sucesiones de unos y ceros. Cuando decimos que una computadora recibe, procesa, almacena y representa datos, nos referimos a cadenas de unos y ceros. Por ejemplo, en binario, la letra «H» se representa como 01001000. La letra «o» es 01101111. Y 01001000011011110110110001100001 es el equivalente de la palabra Hola.
Cada «1» y cada «0» es un bit (b). El término «bit» proviene de las palabras Binary digIT, que significan «dígito binario». Ocho bits son un byte (B) (que se pronuncia /baIt/).
La palabra Hola, en binario (01001000011011110110110001100001) son 32 bits o, lo que es lo mismo, cuatro bytes. Eso es porque cada carácter del alfabeto occidental se representa con un byte.
Tradicionalmente, en informática se han usado las siguientes conversiones:
•210 B = 1024 B = 1 kilobyte (kB)
•1024 kB = 1 megabyte (MB)
•1024 MB = 1 gigabyte (GB)
•1024 GB = 1 terabyte (TB)
•1024 TB = 1 petabyte (PB)
•Etc.
Para nuestra desgracia, el Sistema Internacional de Unidades (SI) no considera válidas estas conversiones. Esto coincide con lo que fabricantes de discos duros, operadoras telefónicas y Apple llevaban haciendo desde hace tiempo, decir que un kilobyte son 1000 bytes, que un megabyte son 1000 kilobytes, que un gigabyte son 1000 megabytes, etc. Para solucionar este entuerto, la Comisión Electrotécnica Internacional ha establecido las siguientes unidades para quienes queremos seguir usando las antiguas conversiones entre escalas de bytes (de 1024 en 1024):
•210 bytes = 1024 bytes = 1 kibibyte (KiB)
•1024 kilobytes = 1 mebibyte (MiB)
•1024 megabytes = 1 gibibyte (GiB)
•1024 gigabytes = 1 tebibyte (TiB)
•1024 terabytes = 1 pebibyte (PiB)
•Etc.
¡Ojo con la velocidad de tu conexión a Internet! No es lo mismo 1 Gb/s que 1 GB/s. Lo primero, 1 Gb/s, es 1 gigabit por segundo, que es lo mismo que 1000 megabits por segundo o 125 megabytes por segundo, nada que ver con 1 GB/s, que es un gigabyte por segundo, es decir, 1000 megabytes por segundo.
El primero en plantear un sistema binario para intercambiar información fue el matemático y filósofo alemán Gottfried Wilhelm Leibniz (1646-1716), motivo por el que se le considera el primer científico computacional de la historia. En 1679, Leibniz imaginó una máquina en la que los números binarios eran representados por canicas.
En los inicios de la informática, los datos de entrada se proporcionaban a través de tarjetas perforadas. Donde el computador detectaba un agujero, consideraba un 0; donde no lo encontraba, consideraba un 1 (o a la inversa, según el sistema).
Figura 2.4 Tarjeta perforada para una aplicación escrita en el lenguaje de programación Fortran. La tarjeta de la imagen tiene 12 filas y 80 columnas, dando así cabida a 960 bits.
Figura 2.5 62 500 tarjetas perforadas, el equivalente a 7 MB. Un smartphone puede albergar el equivalente a más de 4500 millones de tarjetas perforadas.
Figura 2.6 El disquete, disco flexible o floppy disk apareció en 1971. Uno como el de la imagen, de 1987, podía albergar el equivalente a 12 500 tarjetas perforadas. Un pen drive equivale a 364 000 disquetes. Algunos programas todavía utilizan el icono del disquete como metáfora de «Guardar cambios», pero cada vez más usuarios desconocen su significado.
Figura 2.7 «El disco duro que has estado esperando. 10 MB. 3398 $.» Hoy, un DVD de menos de un euro puede albergar 900 veces esa capacidad; una tarjeta SD del tamaño de una uña, 50 000 veces.
En un CD, un DVD o un Blu-ray, los unos son incisiones. Un láser quema la superficie del dispositivo y produce una perforación minúscula llamada pit.
Figura 2.8 Pits de un CD. Fotografía tomada a través de un microscopio electrónico. La palabra ROM, en CD-ROM, son las siglas de Read Only Memory, lo que se traduce como «memoria de solo lectura», pues lo habitual es que, sobre un CD, se pueda guardar información solo una vez.
Y ¿cómo se almacenan los unos y los ceros en un disco duro? Es más, ¿cómo se transmiten de una computadora a otra, o de un CD al disco duro, o de un dispositivo de entrada al procesador? A través de una señal eléctrica (o una señal magnética si la transmisión de datos es inalámbrica). Si hay tensión eléctrica (pasa corriente), se trata de un 1 y, si no la hay (no pasa corriente), se trata de un 0.
La materia está formada por átomos. Los átomos están formados por, entre otras partículas, electrones. La corriente eléctrica es el paso de electrones y se mide en amperios (A). La tensión o diferencia de potencial es la fuerza que una fuente de energía eléctrica (por ejemplo, una batería) ejerce sobre los electrones para que se muevan y se mide en voltios (V).
En un disco duro moderno, los ceros son electrones atrapados en celdas.
Una señal eléctrica es la variación en el tiempo de la tensión con el fin de transmitir información. Si esta señal eléctrica presenta cierta diferencia de potencial (por ejemplo, de cinco voltios) durante un periodo de tiempo de una duración predeterminada, el computador considerará que se trata de un 1. Si en otro periodo de tiempo de la misma duración no hay señal eléctrica, el computador considerará que es un 0.
Supongamos que el ordenador lee en bloques de un microsegundo. Cada microsegundo durante el que la computadora no detecte diferencia de potencial lo considerará como un 0. Por cada microsegundo en el que se mantenga una diferencia de potencial de cinco voltios, considerará un 1.
Antes hemos dicho que, en binario, la palabra Hola se representa como
01001000011011110110110001100001.Por tanto, para enviarle la palabra Hola a un ordenador, debemos transmitirle la señal eléctrica de la figura 2.9.
Figura 2.9 Si analizamos con un osciloscopio la oscilación de la tensión de una señal eléctrica que transmita la palabra Hola, veremos una gráfica como esta.
Pero antes hemos visto que, en un CD, la información se almacena en agujeros microscópicos: los pits. ¿Cómo convertimos los pits en una señal eléctrica?
Un lector de CD consiste en un motor que hace girar el CD mientras un rayo láser impacta contra su superficie. Si el lugar donde impacta el rayo tiene una incisión, el rayo se refleja en cierta dirección para acabar incidiendo en un semiconductor, que es un material que produce una tensión eléctrica al ser impactado por un láser.
A un computador no se le introducen simplemente palabras como Hola, lo que realmente le introducimos son órdenes del tipo: «Muestra por pantalla la palabra ‘Hola’». Como ya has aprendido, esta orden consistirá en una sucesión de unos y ceros. Esa secuencia eléctrica de unos y ceros llegará a la CPU, que la procesará y, como resultado, devolverá otra cadena de unos y ceros. Ahora solo queda convertir esa cadena de unos y ceros devuelta por la CPU en algo comprensible por los humanos, como una imagen o un sonido.
Si tienes curiosidad por entender qué ocurre dentro de la CPU, debes estudiar electrónica digital y álgebra booleana y, para entender cómo funcionan los elementos que componen la electrónica digital, es necesario estudiar electrónica analógica, física y química.
Una pantalla está formada por millones de puntos: los píxeles. La pantalla de mi portátil tiene 1280 píxeles de ancho y 800 píxeles de alto, es decir, un total de 1 024 000 píxeles (es decir, poco más de un megapíxel). Cada píxel está compuesto por tres bombillas minúsculas llamadas subpíxeles: una roja, una verde y otra azul. De ahí vienen las siglas RGB que verás en las pegatinas de algunas antiquísimas pantallas. RGB son las siglas de Red Green Blue («Rojo Verde Azul»).
Es decir, mi pantalla tiene 3 072 000 bombillas. Por cierto, estas bombillas son LED, siglas de Light-Emitting Diode, que significa «diodo emisor de luz». Los diodos o semiconductores son elementos que permiten el paso de corriente solo en una dirección; además, poseen otras propiedades que los convierten en un elemento preciado en electrónica.
Combinando luces rojas, verdes y azules, podemos producir casi cualquier color visible por el ojo humano, algo que conseguimos apagando y encendiendo estos ledes. La salida de la CPU, en cierta forma, está conectada a cada una de las bombillitas de la pantalla. La señal eléctrica devuelta por la CPU sirve para encender o apagar cada una de esas 3 072 000 bombillas. Recuerda que un 1 son 5 V de tensión –la bombilla se enciende– y que un 0 significa que no hay tensión: la bombilla se apaga.
Figura 2.10 Fotografía ampliada de una sección de pantalla. Los píxeles que escriben «15:30» son negros porque sus ledes están apagados.
Al valorar la calidad de una pantalla, más importante que el número de píxeles es la resolución o densidad de píxeles (ppi, del inglés pixels per inch que significa «píxeles por pulgada»).
Una pantalla 1080 significa que tiene 1080 píxeles de alto, pero su densidad de píxeles, y por tanto su calidad, será mayor cuanto más pequeña sea la pantalla. A propósito, una pantalla 4K tiene cuatro veces el número de píxeles que una pantalla 1080.
Amo entender cómo funcionan las cosas que me rodean y he escrito este capítulo con la intención de provocarte el mismo placer. Continúa en el siguiente capítulo y, además, empezará a resultarte útil.
En unos minutos descubrirás por qué el HTML no es un lenguaje de programación y qué tienen en cuenta los buscadores para decidir en qué posición de sus resultados muestran tus páginas web.
Un archivo HTML es un documento que contiene el texto de una página web y referencias al resto de su contenido: vídeos, imágenes, sonidos y otros recursos.
A veces me preguntan si, en Clever Consulting, hacemos webs en HTML. Todas las páginas web están hechas con HTML: todas.
Vas a crear tu primera página web en dos minutos. Si usas Windows, abre el «Bloc de notas» (si usas macOS, descarga Sublime Text). Pega en un documento el texto de la figura 3.1.
Figura 3.1 Código HTML en el «Bloc de notas» de Windows .
Guarda el archivo con el nombre index.html en el escritorio de tu PC: haz clic en «Archivo», después en «Guardar como…», escribe «index.html» (o cualquier nombre siempre que uses la extensión .html) y clica en «Guardar».
Figura 3.2 Cuadro de diálogo de «Guardar archivo» del «Bloc de notas» de Windows.
Figura 3.3 Acabas de crear una página web. Ve al escritorio, haz doble clic en el icono de dicha página web y esta se abrirá en el navegador que tengas configurado como predeterminado.
Figura 3.4 Tu primera página web será idéntica a la de la imagen.
Como acabas de comprobar, un archivo HTML no es más que un archivo de texto escrito con cierta sintaxis y léxico. Escribir HTML no es programar ni HTML es un lenguaje de programación. Escribir HTML es infinitamente más fácil que programar.
Si vuelves a abrir el archivo index.html con un editor de texto, como el «Bloc de notas», verás que nada de lo que has escrito ha cambiado, sigue siendo un archivo de texto plano. Son los navegadores los que interpretan los archivos HTML para representarlos de una forma fácilmente legible para las personas.
HTML es el formato de un tipo de archivo de texto y, además, las siglas de HyperText Markup Lenguage, que significa «lenguaje de marcado de hipertexto»:
•Lenguaje porque se trata de un conjunto de reglas sintácticas y semánticas.
•Marcado (o «de marcas») porque en este lenguaje, las distintas partes de un texto se delimitan a través de «marcas»: las etiquetas.
•Hipertexto es el texto que contiene enlaces. Un enlace (también llamado link, vínculo, hiperenlace, hyperlink o hipervínculo) es el elemento (normalmente un fragmento de texto o una imagen) de un documento (como una página web) que hace que se muestre otra parte del documento u otro documento cuando es clicado.
Los archivos con formato HTML tienen una de estas dos extensiones: .html o .htm.
CSS es otro formato de archivo de texto. Los archivos CSS establecen los estilos de los archivos HTML.
Vamos a crear, también en menos de dos minutos, una hoja de estilo o archivo CSS. Para ello, abre la aplicación «Bloc de notas» de tu computadora si estás en Windows, o Sublime Text si estás en macOS, y abre el archivo index.html creado hace un momento. Puedes arrastrar el icono de la página web al icono de la aplicación o, desde el «Bloc de notas», haz clic en «Archivo», «Abrir…», «Formato»; en «Tipo de archivo», selecciona «Todos los formatos» y selecciona el archivo index.html. Por último, haz clic en «Abrir».
Edítalo para que su contenido quede como lo que te indico a continuación:
<!DOCTYPE html>
<html>
<head>
<link href="style.css" rel="stylesheet" type="text/css" />
</head>
<body>
Mi primera página web
</body>
</html>
Guarda el archivo: haz clic en «Archivo» y en «Guardar».
Crea un nuevo archivo: clica en «Archivo» y en «Nuevo» y pega en él este texto:
body {
font-family: Arial;
font-size: 30px;
font-weight: bold;
text-decoration: underline;
}
Guarda este archivo en tu escritorio con el nombre style.css: haz clic en «Archivo», en «Guardar como…», escribe «style.css» y haz clic en «Guardar».
Ve al escritorio y abre de nuevo el documento index.html.
Comprueba cómo ha cambiado el diseño de tu página web. Ahora el texto usa la tipografía Arial, un tamaño de 30 puntos, en negrita y subrayado (figura 3.5).
Figura 3.5 Tu primera página ya tiene estilos.
La tecnología CSS independiza contenido y diseño, lo que hace que editar este último sea mucho más fácil que antes, cuando estaba mezclado con el código HTML.
Abre de nuevo el archivo style.css con un editor de texto, como el «Bloc de notas», y verás que sigue siendo un archivo de texto. Son los navegadores los que interpretan los archivos CSS para representarlos de una forma entendible para los humanos.
CSS es un formato de archivo de texto que establece la apariencia gráfica de las páginas web.
En el proceso de construcción de una página web es el diseñador quien, usando un software de diseño como Sketch o Adobe Photoshop, concibe su apariencia. Después, un maquetador la hace realidad escribiendo CSS.
CSS significa Cascading Style Sheets, es decir, «hoja de estilos en cascada»:
•Hoja, porque es un documento o parte de un documento.
•Estilos, porque sirve para definir la apariencia gráfica de un documento HTML.
•En cascada, porque existe un orden de prioridad en el caso de que más de una regla de estilo se aplique sobre un mismo elemento.
Los archivos con formato CSS tienen la extensión .css.
Una plantilla gráfica, template, tema o theme, es el conjunto de archivos HTML, CSS y otros recursos (como, por ejemplo, imágenes) que componen un diseño web.
Бесплатный фрагмент закончился.