Sistemas operativos¶
Ya que vamos a instalar Linux, comencemos por explorar algunos conceptos. ¿Que es un sistema operativo? ¿Y un kernel? ¿Que es un shell?
¿Que es un sistema operativo?¶
Cuando adquirimos un ordenador nuevo, este suele venir de serie con una colección de programas preinstalados que podemos ampliar con nuevos paquetes de software. A grandes rasgos, y sin ánimo de ser dogmáticos, a todo este conjunto de programas básicos se le llama sistema operativo. Se divide en cinco grandes piezas:
- un programa de arranque, que es lo primero que se ejecuta cuando encendemos la computadora. El ordenador lo buscará automáticamente en el disco duro (o en el pendrive que tengamos conectado).
- un conjunto de programas básicos de gestión de recursos y procesos, conocido como el "kernel" o núcleo del sistema. Los pone en marcha el programa de arranque y se están ejecutando "en la sombra" hasta que apaguemos la computadora.
-
un programa que nos permita interaccionar con la máquina, llamado "escritorio", y también conocido como "shell". Esta palabra significa, en inglés, caparazón, y se llama asà porque es la parte "visible" del sistema operativo, algo asà como el envoltorio.
Ambos paquetes, el kernel y el shell, se ponen en marcha automáticamente.
-
programas para controlar accesos, usuarios, contraseñas, etc.
- todo ello acompañado del una colección de programas de utilidad: navegador web, explorador de ficheros, gestor de correo, etc.
El concepto de sistema operativo
Siendo puristas, la definición de sistema operativo deberÃa limitarse al kernel, considerando todo lo demás como complementos. En este cuaderno dejaremos ese debate aparte.
Monitorizando procesos¶
Supongamos un escritorio con el siguiente aspecto:

En el ejemplo tenemos:
- al fondo, el programa de escritorio
- dos programas ejecutándose en sendas ventanas, el navegador web y una calculadora
Pero hay otros programas ejecutándose en la sombra, sin mostrar nada en la pantalla. Son los programas de gestión de recursos que forman el kernel. Por ejemplo:
- El programa que gestiona las conexiones de red.
- El programa para controlar los accesos a disco que hacen las aplicaciones (procesador de textos, gestor de imágenes, etc), y evitar conflictos al reclamar espacio para almacenar datos.
- El portapapeles, que permite copiar y pegar de una aplicación a otra.
- Y un largo etcétera.
¿Como podemos averiguar cuales son esas tareas de intendencia que se ejecutan en segundo plano? Muchos sistemas suelen contar con algún programa de utilidad que muestra la lista de procesos en ejecución. Este programa suele tener diferentes nombres, monitor del sistema, administrador de tareas... En Windows, por ejemplo, se inicia pulsando la combinación de teclas Shift+Ctrl+Esc.
En la siguiente imagen tenemos un monitor del sistema ejecutándose en una ventana sobre un escritorio de Linux. Podemos ver la lista de procesos, los recursos consumidos por cada uno, y en caso de que la máquina se quede bloqueada, detectar cual es el programa que está acaparando el tiempo de la CPU.

¿Quien ha dado la orden de ejecutar los programas de esta lista? La mayorÃa se ponen en marcha automáticamente al iniciar la computadora, y sirven para gestionar los recursos que utiliza el ordenador.
El Shell¶
La parte visible de cualquier sistema operativo suele ser el escritorio, es decir, el programa que usamos para interaccionar con la máquina. Este tipo de programas son conocidos como "shell". y han ido evolucionando desde la prehistoria de la informática. En los primeros tiempos, los ordenadores no contaban con pantallas. Los puestos de trabajo consistÃan en un teclado y una impresora:

El usuario tecleaba comandos a ejecutar, y el ordenador respondÃa mostrando la información en papel. El shell era el programa que permitÃa este diálogo.
Con el paso de los años, estas primitivas consolas fueron sustituidas por pantallas donde la información se mostraba en forma de texto, que se iba desplazando hacia arriba a medida que se llenaba la pantalla:

La década de 1980 fue testigo de la aparición de los primeros escritorios gráficos. En lugar de teclear comandos, habÃa que pulsar con el ratón sobre los elementos de la pantalla:

A partir de ese momento se fue imponiendo el uso de shells cada vez más sofisticados. Actualmente se habla de usar shells gráficos o shells de texto. Los sistemas operativos modernos suelen incluir un programa llamado "Terminal", que simula un shell de texto en una ventana:

¿Como funciona? Tecleando comandos en la ventana de trabajo y observando las respuestas del ordenador. En un capÃtulo posterior haremos un repaso básico de los comandos que son propios de Linux.
¿Para que sirve el Terminal? El usuario medio de un ordenador doméstico lo utilizará en contadas ocasiones, pero hay situaciones en las que resulta de gran utilidad, especialmente para tareas de administración y configuración del sistema.
Sistemas operativos más populares¶
En resumen, un sistema operativo es un software formado por un Kernel, un Shell y otros programas de utilidad. En los primeros años de la informática, cada fabricante de ordenadores tenÃa su propio sistema operativo. Esto era un planteamiento bastante ineficiente, porque los programas que utilizamos se apoyan en los servicios proporcionados por el kernel, como ya hemos visto. En aquellos primeros años, esto suponÃa que si una empresa cambiaba de computadora y adquirÃa un nuevo modelo más avanzado de otra marca, tenÃa que prescindir de todos sus programas, que se convertÃan en incompatibles con la nueva máquina, y habÃa que volver a comenzar desde cero.
En la década de 1960 comenzaron a surgir algunas iniciativas para crear sistemas operativos universales, algo que, en la actualidad se encuentra bastante extendido. Hoy en dÃa, dos de los sistemas más populares son "Windows" y "Android". Las ordenadores de la marca Apple tienen su propio sistema operativo, "MacOS".
En el mundo de los servidores corporativos, el sistema de referencia es "UNIX", que se remonta a la década de 1970. En los años noventa surgió una versión para ordenadores personales denominada "Linux", que hoy en dÃa es desarrollada de forma comunitaria, y es el sistema preferido por los defensores del software libre. Incluso ha ido sustituyendo de forma progresiva a su antecesor Unix en muchos servidores.
Otra alternativa es "ChromeOS", diseñado por Google y orientado a máquinas donde las aplicaciones y los datos de los usuarios residan en la nube.
MS-DOS fue el sistema operativo de Microsoft en la década de 1980, superado en 1992 por el lanzamiento de Windows 3, y aparcado definitivamente en 1995 tras la presentación de Windows 95.
¿Cuantos sistemas operativos existen? Considerando los de cierta relevancia, cientos. Véase lista en la wikipedia.
En este cuaderno describiremos la instalación de un sistema operativo Linux.