Introducción a Linux
October 16, 2025 ~ 3 months ago
(Creado el 26 Feb 2025)
El sistema operativo Linux es uno de los 3 grandes sistemas operativos de escritorio a nivel mundial, pero con una pequeña cuota de mercado del 1% (OSX tiene una cuota del 5%). Aunque esta cifra es pequeña, Linux está creciendo rápidamente en popularidad debido a que Microsoft está implementando características de Windows que van en contra de los intereses de los usuarios. Linux es un sistema operativo de código abierto, lo que significa que es libre y editable, dos cosas que Windows no es. Al ser editable, los usuarios pueden personalizar Linux para que se adapte mejor a sus necesidades.
Otra característica importante de Linux es que es increíblemente ligero, lo que lo hace atractivo no sólo para consumidores con hardware débil, sino para usuarios avanzados que requieren todo el rendimiento posible de una máquina, como programadores y científicos de datos.
Linux en sí es una versión de UNIX, que a su vez es propietaria. Es un sistema operativo multiusuario y multitarea, con infinitas posibilidades de personalización.
Estructura de linux
Linux se basa en un micronúcleo híbrido, que ejecuta los servicios más básicos del sistema operativo, mientras que otros procesos se ejecutan como procesos de servidor.
Además, tiene una estructura que impide el acceso del usuario al núcleo, utilizando un proceso llamado shell que interpreta las aplicaciones ejecutadas por el usuario, ya sea desde un terminal o desde la interfaz gráfica de usuario.
El Shell
El shell es un programa que se ejecuta al encender el sistema, y su función es interpretar las órdenes enviadas por el usuario u otros programas, y traducirlas en instrucciones que el sistema operativo entienda.
Una versión de Linux puede tener varios shells diferentes instalados al mismo tiempo, y el usuario puede cambiar entre cada uno de ellos.
Mientras que los comandos pueden ser enviados a la shell a través de algunas GUIs, se recomienda que uno tenga un cierto dominio de la terminal, ya que mientras que mucho se puede hacer en GUIs hoy en día en Linux, todavía puede haber momentos en los que la terminal es necesaria.
Intérpretes de shell importantes
Hay un puñado de intérpretes de comandos que tienen sus propias ventajas y desventajas. Los más comunes en entornos Linux son bash y zsh, pero otros incluyen sh (hecho para UNIX), csh (similar al lenguaje de programación C), tcsh (fork mejorado de csh) y ksh.
El shell bash fue creado por el proyecto GNU y está basado en csh y ksh.
El kernel
El kernel es el núcleo del sistema operativo. Es lo que se comunica directamente con el hardware, como la memoria, el procesador o los periféricos.
Cada distribución linux obtiene el núcleo de las actualizaciones del sistema operativo, y el versionado del núcleo puede distinguirse por 3 números separados por puntos (puede haber un 4º número, pero irá separado por un guión en su lugar)
El significado de cada número es
- Versión del kernel. Sólo cambia en caso de cambios masivos en el código del kernel. Hasta ahora, estamos en la versión 6 del núcleo.
- Revisión principal del kernel. Cambios después de grandes revisiones. Hasta ahora, estamos en la revisión principal del kernel 13
- Revisión menor del núcleo. Cambios después de pequeños cambios, como nuevos drivers, o pequeñas nuevas características. Hasta ahora, estamos en la revisión menor del kernel 4.
- Correcciones de errores o de seguridad en una revisión. Normalmente no están presentes en las versiones estables o LTT de Linux. La versión mainline actual es rc4
Evolución de Linux
CTSS, un sistema operativo desarrollado por el MIT, se considera el punto de partida de Linux. La principal característica de este sistema operativo era que reducía el tiempo de espera de todos los procesos.
A continuación, se desarrolló MULTICS (Multiplexed Information and Computing Service), también desarrollado por el MIT y otros, basado en CTSS. Se diseñó para una gran cantidad de usuarios y se escribió en PL/I, pero resultó un proyecto demasiado complicado para su época.
Partiendo de MULTICS, Ken Thompson, un desarrollador de Bell Labs, creó una versión monousuario, llamada UNICS (más tarde rebautizada como UNIX).
Aunque inicialmente se escribió en B, una versión más sencilla de BCPL, se reescribió en C, que también se utiliza hoy en día.
Bajo el nombre de POSIX, se creó una familia de estándares para que las aplicaciones pudieran ejecutarse en distintos sistemas operativos basados en Unix.
En 1987, Andrew Tanembaum publicó un libro con un sistema operativo adjunto llamado MINIX.A partir de este sistema operativo, Linux Torvalds se inspiró para crear un sistema operativo llamado Linux.
Cuando el proyecto GNU se hizo público para todos los usuarios, su licencia GPL también se hizo disponible. Se conoce como una licencia copyleft, en lugar de una licencia de copyright.
En 1991, Linus Torvalds escribió el núcleo Linux, y lo publicó bajo la licencia GPL, y en 1992, Linux y el proyecto GNU se unieron para formar el proyecto GNU/Linux, que ahora tiene varias distribuciones.