Una breve historia de Linux

0 acciones
0
0
0
0

Introducción

En el uso común, "Linux" suele referirse a un grupo de distribuciones de sistemas operativos basadas en el kernel de Linux. Sin embargo, en un sentido más específico, Linux se refiere únicamente al kernel en sí. Para construir un sistema operativo completo, las distribuciones de Linux suelen incluir herramientas y bibliotecas del proyecto GNU y otras fuentes. Recientemente, cada vez más desarrolladores utilizan Linux para crear y ejecutar aplicaciones móviles; este sistema operativo también ha desempeñado un papel importante en el desarrollo de dispositivos asequibles como los Chromebooks, que ejecutan sistemas operativos sobre el kernel. En la computación en la nube y en entornos de servidores en general, Linux es una opción popular por ciertas razones operativas:

  • Sus distribuciones están actualizadas y respaldadas por otras comunidades de desarrolladores.
  • Este sistema operativo puede ejecutarse en una amplia gama de hardware y puede instalarse junto con sistemas existentes (una característica útil en entornos de desarrollo locales).
  • Admite la instalación centralizada de software desde repositorios prediseñados.
  • Sus requerimientos de recursos son bajos.
  • Cuando los desarrolladores crean ecosistemas de programación y las herramientas necesarias para los servidores, Linux suele ser la primera opción, lo que genera una alta compatibilidad.
  • Permite realizar los cambios necesarios en el comportamiento del sistema operativo.

Linux también tiene raíces en el movimiento del software libre y de código abierto, por lo que algunos desarrolladores lo utilizan por razones éticas y operativas:

  • Para algunos desarrolladores, usar Linux significa un compromiso con el acceso abierto y la libertad de expresión.
  • La comunidad Linux también es atractiva para algunos desarrolladores: cuando tienen preguntas, pueden consultar los recursos producidos por esta comunidad o contactar directamente a uno de los mantenedores activos.

Para comprender el papel de Linux en la comunidad de desarrolladores (y más allá), este artículo describe una breve historia de Linux a través de Unix y examina algunas distribuciones de Linux populares.

Raíces en Unix

Linux tiene sus raíces en Unix y Multix, dos proyectos que apuntaban a desarrollar un sistema operativo multiusuario robusto.

El comienzo de Unix

Unix evolucionó a partir del proyecto Multix en el Centro de Investigación en Ciencias de la Computación de Bell Labs. Los desarrolladores que trabajaban en Multix en Bell Labs y otros laboratorios estaban interesados en crear un sistema operativo multiusuario con almacenamiento de un solo nivel, enlace dinámico (en el que un proceso en ejecución podía solicitar al sistema que añadiera otra sección a su espacio de direcciones para poder ejecutar código desde esa sección) y un sistema de archivos jerárquico.

Bell Labs dejó de financiar el proyecto Multix en 1969, pero un grupo de investigadores, entre ellos Ken Thompson y Dennis Ritchie, continuó trabajando en los principios originales del proyecto. Entre 1972 y 1973, decidieron reescribir el sistema en C, lo que hizo a Unix excepcionalmente portátil: a diferencia de otros sistemas operativos contemporáneos, Unix podía trasladarse de su hardware y mantenerse a flote.

Sin embargo, la investigación y el desarrollo continuaron en Bell Labs (posteriormente AT&T), y los Laboratorios de Sistemas Unix desarrollaron versiones de Unix en colaboración con Sun Microsystems que fueron ampliamente adoptadas por los proveedores comerciales de Unix. Mientras tanto, la investigación continuó en el ámbito académico, en particular en el Grupo de Investigación de Sistemas Informáticos de la Universidad de California, Berkeley. Este grupo creó la Distribución de Software de Berkeley (BSD), que inspiró diversos sistemas operativos, muchos de los cuales aún se utilizan. Dos distribuciones BSD históricas son NeXTStep, un sistema operativo desarrollado por NeXT y que se convirtió en la base de macOS y otros productos, y MINIX, un sistema operativo educativo que se convirtió en un referente para Linus Torvalds durante el desarrollo de Linux.

Características principales de Unix

Unix se centra en los principios de claridad, portabilidad y concurrencia.

  • Resolución: El diseño modular de Unix permite la ejecución de funciones de forma limitada y específica. Su sistema de archivos es unificado y jerárquico, lo que simplifica la manipulación de datos. A diferencia de algunos de sus predecesores, Unix implementa cientos (no miles) de llamadas al sistema, cada una con una finalidad clara y directa.
  • Portabilidad: Al escribir Unix en C, el equipo de Bell Labs preparó Unix para su uso y adopción generalizados. C fue diseñado para proporcionar acceso superficial a memoria, un soporte mínimo en tiempo de ejecución y una relación eficiente entre el lenguaje y las instrucciones de la máquina. La base de Unix en C permitió que el sistema operativo fuera adaptable y pudiera ejecutarse fácilmente en una variedad de hardware.
  • Sincronización: El núcleo de Unix está diseñado específicamente (en colaboración con el proyecto Multix) para admitir múltiples usuarios y flujos de trabajo. El espacio del núcleo en Unix es distinto del espacio de usuario, lo que permite la ejecución simultánea de varios programas.

La evolución de Linux

Unix planteó importantes preguntas a los desarrolladores, pero en sus primeras versiones aún era propietario. Por lo tanto, el siguiente capítulo de su historia es la historia de cómo los desarrolladores trabajaron dentro y fuera del marco, lo que condujo a la creación de alternativas libres y de código abierto.

Experimentos de código abierto

Richard Stallman fue una figura central entre los desarrolladores que se inspiraron para crear alternativas no privativas a Unix. Mientras trabajaba en el Laboratorio de Inteligencia Artificial del MIT, comenzó a trabajar en el Proyecto GNU (que significa "¡GNU no es Unix!") y finalmente dejó el laboratorio en 1984 para distribuir componentes de GNU como software libre. El núcleo GNU, conocido como GNU HURD, se convirtió en el foco de la Free Software Foundation (FSF), fundada en 1985 y dirigida por Stallman.

Mientras tanto, otro desarrollador trabajaba en una alternativa libre a Unix: Linus Torvalds, un estudiante universitario finlandés. Frustrado con la licencia de MINIX, Torvalds anunció al Grupo de Usuarios de MINIX el 25 de agosto de 1991 que estaba desarrollando un sistema operativo similar a MINIX. Aunque el núcleo se desarrolló inicialmente en MINIX utilizando el compilador GNU C, el núcleo Linux se convirtió rápidamente en un proyecto único, y un equipo de desarrolladores lanzó la versión 1.0 en 1994.

Características principales de Linux

Aunque el kernel de Linux hereda muchos de los objetivos y características de Unix, se diferencia del sistema anterior en los siguientes aspectos:

  • Su componente principal es el núcleo, que se desarrolla independientemente de los demás componentes del sistema operativo. Esto significa que Linux utiliza diferentes fuentes (como GNU) para construir un sistema operativo completo.
  • Es un sistema operativo libre y de código abierto. Su núcleo está licenciado bajo la Licencia Pública General de GNU (resultado del trabajo de la FSF en el proyecto GNU) y está disponible para descarga y modificación. La GPL estipula que las obras derivadas deben conservar los términos de la licencia del software original.
  • Linux tiene un núcleo monolítico, similar a Unix, pero puede cargar y descargar dinámicamente el código del núcleo.
  • Este sistema operativo tiene soporte para multiprocesadores (SMP), a diferencia de las implementaciones tradicionales de Unix.
  • Su núcleo es predecible, lo que supone otra diferencia con Unix.
  • Su núcleo no diferencia entre hilos y procesos normales.
  • Este sistema operativo tiene una interfaz de línea de comandos (CLI) y también puede tener una interfaz gráfica de usuario (GUI).

Distribuciones populares de Linux

Los desarrolladores mantienen muchas distribuciones de Linux populares hoy en día. Entre ellas, una de las más antiguas es Debian, una distribución libre y de código abierto con 50.000 paquetes de software. Debian inspiró otra distribución popular, Ubuntu, financiada por Canonical Ltd. Ubuntu utiliza el formato de paquetes deb y las herramientas de gestión de paquetes de Debian, y los desarrolladores de Ubuntu contribuyen con cambios en Debian.

Existe una relación similar entre Red Hat, Fedora y CentOS. Red Hat creó su propia distribución de Linux en 1993 y diez años después dividió sus esfuerzos en Red Hat Enterprise Linux y Fedora, un sistema operativo comunitario que utiliza el núcleo de Linux y componentes del proyecto GNU.

Resultado

En este artículo, hemos abordado las raíces de Linux en Unix y algunas de sus características distintivas. Si te interesa aprender más sobre la historia de Linux y las variantes de Unix (incluido FreeBSD), un buen punto de partida podría ser nuestra serie de artículos sobre FreeBSD. También puedes consultar nuestra serie "Introducción a Linux".

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *


También te puede gustar