¿Qué es Linux? El sistema operativo de código abierto que está cambiando el mundo

Linux es un sistema operativo de código abierto de probada eficacia lanzado en 1991 para ordenadores, pero su uso se ha ampliado para sustentar sistemas para coches, teléfonos, servidores web y, más recientemente, equipos de red.

Su longevidad, madurez y seguridad lo convierten en uno de los sistemas operativos más fiables de la actualidad, lo que significa que es ideal para los dispositivos de red comerciales, así como para las empresas que desean utilizarlo y sus periféricos para personalizar su propia infraestructura de red y centro de datos.

Esto, a su vez, hace que los conocimientos de Linux sean muy solicitados por los directores de contratación de TI. Por ejemplo, muchas de las nuevas tecnologías asociadas a DevOps, como los contenedores, la infraestructura y los controladores SDN, están construidos sobre Linux.

¿Qué es Linux?

Linux es un sistema operativo similar a -aunque, como veremos, no desciende directamente de- Unix. Como la mayoría de los sistemas operativos tipo Unix, Linux está formado por varios componentes.

El kernel

Es el núcleo del sistema y envía instrucciones a la CPU, los periféricos y la memoria.

El gestor de arranque

Los procesos que gestionan el arranque del sistema. En un ordenador, el usuario lo reconocería por la pantalla de inicio que aparece. En un dispositivo de red hay un proceso de arranque que indica su estado.

Daemons

Servicios de fondo que se inician en el momento del arranque o después de que el sistema esté completamente levantado. Por ejemplo, el demonio de red activa todas las interfaces de red en el momento del arranque. Otros daemons son cosas como el tiempo y el DNS.

El shell

Esta es la línea de comandos de Linux. Puede ser intimidante para las personas que están acostumbradas a trabajar en entornos gráficos, pero la mayoría de los profesionales de la red están acostumbrados a operar en un shell.

Comandos de Linux

La interfaz de línea de comandos (CLI) del shell ofrece una serie de poderosas capacidades – incluyendo las cruciales para la administración de redes y sistemas – para los usuarios expertos que están familiarizados con la interfaz basada en texto.

Entornos de escritorio de Linux

Además de la shell, hay una serie de entornos de escritorio para Linux, que funcionan como las interfaces gráficas de usuario basadas en ventanas conocidas de Windows y macOS. A diferencia de esos sistemas operativos, Linux puede equiparse con uno de los muchos entornos de escritorio para satisfacer las necesidades y los gustos del usuario.

Administradores de paquetes y aplicaciones de Linux

Aunque muchos programas -especialmente los manejados desde la línea de comandos- se incluyen con la mayoría de las instalaciones del sistema operativo Linux, obviamente querrá instalar más para obtener la funcionalidad que necesita, y muchos de esos programas serán aplicaciones gráficas, basadas en la interfaz gráfica de usuario, más familiares que las manejadas por una CLI. Por lo general, utilizarás un gestor de paquetes, un programa que descarga paquetes de software de las bibliotecas de software disponibles gratuitamente, para este propósito. Algunas aplicaciones de red para Linux, como las que se centran en el análisis del tráfico, la seguridad y la gestión de la red, tienen interfaces gráficas, pero son mucho menos numerosas que las de los servidores y los ordenadores de sobremesa.

Linus Torvalds y la historia de Linux

Como se ha señalado, Linux es uno de los muchos sistemas operativos que se engloban bajo el epígrafe de «Unix-like». La propia historia de Unix es extremadamente enmarañada, pero Linux, aunque proporciona gran parte de la sensación de Unix, en realidad no reutiliza ningún código fuente de Unix.

Linux podría considerarse en realidad un nieto de Unix. Su predecesor inmediato fue MINIX, un pequeño sistema operativo similar a Unix creado a finales de los 80 para ilustrar los principios del diseño de sistemas operativos a los estudiantes.

El código de MINIX estaba disponible para fines educativos pero no podía reutilizarse para aplicaciones comerciales. En 1991, un estudiante de ciencias de la computación de 21 años llamado Linus Torvalds anunció que iba a crear un nuevo sistema operativo, inspirado en MINIX pero escrito desde cero para que el código pudiera publicarse como código abierto bajo la GPL de GNU. Combinó el nombre de MINIX con el suyo propio y bautizó el nuevo sistema operativo como Linux.

El kernel de Linux

El kernel de Linux es el núcleo del sistema operativo. También representa la diferencia clave entre Linux y MINIX (lo cual es algo irónico, ya que Torvalds había sido acusado de robar código de MINIX para crear su sistema operativo). Mientras que MINIX se basa en un micronúcleo que contiene la cantidad mínima de código necesario para ejecutar un sistema operativo, Linux tiene un núcleo monolítico, lo que significa que funciones como el sistema de archivos, la memoria virtual y varias llamadas al sistema tienen lugar en el espacio privilegiado del núcleo.

Una de las ventajas de esto -que también es una de las ventajas clave de Linux en su conjunto- es que, aunque el funcionamiento interno del sistema operativo puede evolucionar con el tiempo, la interfaz entre el núcleo y el espacio de usuario -la parte del sistema donde se ejecutan las aplicaciones de los usuarios individuales- permanece muy estable, lo que significa que la actualización de Linux no le obligará a actualizar sus programas.

Comunidad Linux

Como se ha señalado, el código de Linux es de código abierto – concretamente, su código se publica bajo la permisiva Licencia Pública GNU. Eso significa:

  • El sistema operativo Linux puede descargarse e instalarse gratuitamente.
  • Los administradores pueden estudiar el sistema operativo y personalizarlo.
  • Existen privilegios de redistribución ilimitados de las versiones originales o modificadas del sistema operativo.
    • Una de las señales más claras de que Linux es un proyecto basado en la comunidad es que el núcleo no se mantiene en secreto en un laboratorio corporativo, sino a través de una lista de correo electrónico pública, donde todas las actualizaciones propuestas y los debates sobre si deben adoptarse en el sistema operativo están disponibles para cualquiera. Cualquiera puede unirse a la comunidad Linux participando y contribuyendo a esta lista de correo.

      Torvalds preside la lista como un dictador no especialmente benévolo -era famoso por soltar obscenas diatribas sobre el código que consideraba especialmente problemático-, pero últimamente ha intentado enmendar un poco sus costumbres.

      La comunidad Linux va mucho más allá del núcleo, sin embargo. La naturaleza abierta de Linux significa que hay un enorme grupo de profesionales y entusiastas que participan activamente en la búsqueda de nuevas formas de utilizarlo. Por ejemplo, los contenedores han evolucionado en gran medida gracias a la participación de la comunidad.

      Y que Linux sea un proyecto comunitario no significa que una plataforma basada en Linux sea un dispositivo «menor». Linux tiene un excelente ecosistema con APIs maduras, así como una pila de redes ágil y optimizada para el centro de datos modernizado. Por ejemplo, Linux está diseñado con planos de control y reenvío de datos separados, lo que facilita su incorporación a las arquitecturas de redes definidas por software, ya que la separación de esos planos es la base de la SDN.

      Distribuciones de Linux

      Debido a que Linux es de código abierto, no hay ningún proveedor que lo venda; teóricamente, podrías descargar el kernel, un entorno de escritorio y varias otras utilidades y aplicaciones, e instalarlos todos tú mismo. En la práctica, estos componentes del sistema operativo se empaquetan juntos en lo que se llama una distribución – básicamente, un sistema operativo Linux ajustado de una manera particular que está listo para usar fuera de la caja.

      De nuevo, en teoría, cualquiera podría armar una distribución de Linux, pero la mayoría son ofrecidos por empresas y organizaciones sin fines de lucro. Los distribuidores comerciales pueden cobrar por su distribución, u ofrecer servicios de soporte opcionales de pago. Algunas de las distribuciones de Linux más conocidas son:

      • Ubuntu
      • SuSE
      • Debian
      • Red Hat
      • Fedora
      • Oracle Linux
      • CentOS
      • Arch Linux
      • Mandriva
      • La lista siempre está cambiando; DistroWatch hace un seguimiento de los principales actores y evalúa los pros y los contras de cada uno.

        Linux vs. Windows

        El cambio de milenio fue una época dorada para las guerras entre Microsoft y Linux, con usuarios engreídos de Linux seguros de la superioridad de su sistema operativo elegido tanto por motivos ideológicos como técnicos, y Microsoft devolviendo el fuego con la misma pasión. Muchos de los defensores más acérrimos de Linux afirmaban que el día en que Linux se convertiría en un sistema operativo de escritorio dominante estaba a la vuelta de la esquina. Evidentemente, esto nunca ocurrió. Como sistema operativo comercial para el usuario final, Linux nunca se extendió más allá de un pequeño nicho, y los días de esas batallas han pasado en gran medida (aunque todavía encontrará gente dispuesta a luchar).

        Pero cuando se trata de servidores Linux, es una historia diferente. Linux se considera un actor importante en el mercado de los servidores, al mismo nivel que Microsoft y otros proveedores. Y en el mercado tecnológico más lucrativo que ha surgido en este siglo, Linux ha aplastado, en cierto modo, a Redmond. El sistema operativo móvil Android es, en el fondo, un derivado de Linux, y Android es el principal actor en el mercado de los móviles, donde, a pesar de los repetidos intentos, Microsoft no ha conseguido hacerse con un hueco.

        ¿Para qué se utiliza Linux?

        Debido a su flexibilidad, Linux se ha abierto camino en una serie de nichos, desde productos integrados hasta servidores de supercomputación. En la última década ha habido una explosión en el número de productos basados en Linux que han tenido un gran impacto en el espacio de TI, incluyendo:

        • Kubernetes: Gestor de clústeres de contenedores de Google
        • OpenStack: Plataforma de software de infraestructura como servicio en la nube
        • Open Daylight: Proyecto basado en java de la Fundación Linux para acelerar la adopción de SDNs y Network Functions Virtualization (NFV)
        • Docker: Programa de contenedores de software
        • Open vSwitch (OVS): Conmutador virtual multicapa distribuido para proporcionar una pila de conmutación dentro de los entornos de virtualización. OVS es particularmente interesante porque ofrece un conjunto más rico de características de red que las capacidades básicas del kernel de Linux. Si OVS tiene un éxito incluso moderado, podría ser un excelente precursor de lo que está por venir en el ámbito de las redes.
          • Las redes han tardado en adoptar Linux, pero cuanto más dependen las empresas de las redes, más se unen los dominios de las redes y los servidores. Para los ingenieros de redes, poder acceder al shell nativo de Linux les permite utilizar herramientas y software que antes sólo estaban disponibles para los servidores. Esto hace que sea mucho más fácil orquestar los servicios de red con los cambios en los servidores y las aplicaciones.

            ¿Por qué tiene Linux tanto éxito en la empresa?

            En su repaso a Linux con motivo de su 25º aniversario, Paul Venezia, de InfoWorld, reflexionó sobre por qué este sistema operativo advenedizo, diseñado por hippies e idealistas más que por gente de negocios, acabó teniendo tanto éxito en el mundo corporativo. Su opinión es que el atractivo de Linux era doble.

            En primer lugar, Linux es adaptable, con diferentes distribuciones que lo portan a casi cualquier plataforma informática que se pueda nombrar.

            Y en segundo lugar, Linux es barato. No era el tipo de Linux gratuito el que interesaba a las empresas -francamente no confiaban en lo gratuito-, pero el Linux comercial de bajo coste con soporte disponible era difícil de dejar pasar. Y, lo que es más importante, Linux podía ejecutarse en hardware básico -las cajas de PC x86 baratas que la mayoría de las empresas ya tenían en abundancia- en una época en la que otros proveedores de Unix, como Sun, utilizaban su sistema operativo para integrar su hardware de gama alta.

            Estos factores mantendrán a Linux en la empresa durante los próximos años. Así que si usted es un administrador de sistemas o un administrador de red, va a querer familiarizarse con él.