Este artículo trata sobre sistemas operativos que usan el núcleo Linux y el userland de GNU. Para otros usos de este término, véase Linux (desambiguación).
A pesar de que en la jerga cotidiana la mayoría de las personas usan el vocablo Linux para referirse a este sistema operativo,[5][6] en realidad ese es solo el nombre del kernel o núcleo, que representa menos del 50 por ciento de todo el código del sistema. El sistema completo está formado también por una gran cantidad de componentes del Proyecto GNU junto a componentes de terceros, que van desde compiladores hasta entornos de escritorio.[7][8] Cabe señalar que existen derivados que usan el núcleo Linux pero que no tienen componentes GNU, como por ejemplo el sistema operativo Android.[9] También existen distribuciones de software GNU donde el núcleo Linux está ausente.
El núcleo del sistema operativo gestiona todos los procesos vitales y recursos. El núcleo en su más pura forma es distante del usuario, su misión es a un bajo nivel y muy difícilmente el usuario interactúa con él. Pero el núcleo en sí no hace alusión a ninguna interfaz gráfica ni programa que de manera básica interactúe con el usuario.
Los sistemas operativos GNU/Linux se encuentran normalmente en forma de compendios conocidos como distribuciones o «distros».[10] Entre las más populares se encuentran Debian, Ubuntu, Red Hat, SUSE y ArchLinux. El propósito de estas distribuciones es ofrecer GNU/Linux como un producto final para instalar o probar en un ordenador, cubriendo una gama de necesidades, las cuales van desde el uso cotidiano personal hasta aplicaciones muy específicas en ambientes especializados. Al sistema base las distros añaden su propia selección de aplicaciones y programas preinstalados (por ejemplo ambientes gráficos basados en X11, GNOME y KDE), o aplicaciones que pueden descargarse desde un repositorio para su posterior instalación.
GNU/Linux es uno de los ejemplos más prominentes de software libre: todo su código fuente puede ser utilizado, modificado y redistribuido libremente por cualquier persona, empresa o institución, bajo los términos de la Licencia Pública General de GNU, así como de otra serie de licencias de derechos de autor.[18]
La contribución del proyecto GNU al sistema es la razón por la que existe controversia a la hora de utilizar Linux o GNU/Linux para referirse al sistema operativo formado por el sistema GNU y el núcleo Linux en su conjunto.[20][21]
El sistema operativo Unix fue concebido e implementado en 1969 en los laboratorios Bell de AT&T en los Estados Unidos por Ken Thompson, Dennis Ritchie, Douglas McIlroy, y Joe Ossanna.[22] Unix se escribió completamente en lenguaje ensamblador por primera vez en 1971, ya que era una práctica común en el momento. Más tarde, en 1973, en un enfoque innovador, se volvió a escribir en el lenguaje de programación C, por Dennis Ritchie (a excepción del núcleo y del sistema de entrada y salida de datos). La disponibilidad de un lenguaje de alto nivel para implementar Unix propició su portabilidad a diferentes plataformas de computación con mayor facilidad; ayudando así a su propagación.
Debido a un anterior caso antimonopolio que le prohibía entrar en el negocio de las computadoras, AT&T licenciaba gratuitamente el código fuente del sistema operativo Unix a cualquier persona que lo solicitara.[23] Como resultado, Unix creció rápidamente y llegó a ser ampliamente adoptado por las instituciones académicas y empresas. En 1984, AT&T se despojó de Bell Labs; quedando libre de la obligación legal que requería la concesión de dichas licencias.[24]
En retrospectiva, Linus Torvalds declaró que si el núcleo del proyecto GNU hubiera estado disponible en 1991, no se habría decidido a desarrollar su propio núcleo.[27] Asimismo, también declaró que si el núcleo 386BSD (del cual NetBSD, OpenBSD y FreeBSD descienden), cuyo desarrollo es anterior al núcleo Linux y que no se liberó hasta 1992 por temas legales, hubiera estado disponible probablemente tampoco lo habría desarrollado.[28]
En 1991, cuando Torvalds asistía a la Universidad de Helsinki y era usuario del sistema operativo MINIX, creado en 1987 por Andrew S. Tanenbaum, y de los programas provenientes del proyecto GNU, estaba muy interesado por el funcionamiento de los sistemas operativos.[29] Frustrado por la concesión de licencias de uso que utilizaba MINIX, que en ese momento se limitaba a uso educativo, ese mismo año decidió comenzar a desarrollar su propio núcleo[29][30] adoptando la estructura y código del núcleo de MINIX.
Hacia 1992, Torvalds había trabajado tanto en el desarrollo del núcleo Linux que llegó a superar a otros núcleos que se encontraban también en desarrollo en ese momento.[28] Las aplicaciones GNU también se fueron desarrollando de modo que reemplazaron todos los componentes de MINIX, porque era más ventajoso utilizar el código libre del proyecto GNU con el nuevo sistema operativo. El código GNU con licencia bajo la GPL puede ser reutilizado en otros programas de computadora, siempre y cuando también se liberen bajo la misma licencia o una licencia compatible. Posteriormente Torvalds inició un cambio de su licencia original, la cual prohibía la redistribución comercial, y lo difundió bajo la licencia GPL.[31] Los desarrolladores de ambas partes trabajaron para integrar componentes de GNU con el núcleo Linux, consiguiendo un sistema operativo completamente funcional.[30]
Diseño
Muchos desarrolladores de código abierto están de acuerdo en que el núcleo Linux no fue diseñado, sino que evolucionó a través de una forma de «selección natural». Torvalds considera que, aunque el diseño de Unix sirvió como andamiaje, «Linux creció con muchas mutaciones, y debido a que las mutaciones eran menos que aleatorias, eran más rápidas y más dirigidas que las partículas alfa en el ADN».[32] Raymond considera que los aspectos revolucionarios de Linux son sociales, no técnicos, antes de que el software complejo de Linux fuera diseñado cuidadosamente por grupos pequeños, pero «Linux evolucionó de una manera completamente diferente. Desde casi el principio, fue pirateado de manera bastante casual por un gran número de voluntarios coordinando sólo a través de Internet. La calidad se mantuvo no por estándares rígidos o autocracia, sino por la estrategia ingenuamente simple de publicar cada semana y obtener comentarios de cientos de usuarios en unos días, creando una especie de selección darwiniana rápida sobre las mutaciones introducidas por los desarrolladores».[33] Bryan Cantrill, un ingeniero de un sistema operativo de la competencia, está de acuerdo en que «Linux no se diseñó, evolucionó», pero considera que esto es una limitación, y propone que algunas características, especialmente las relacionadas con la seguridad, no se pueden convertir en, «este no es un sistema biológico al final del día, es un sistema de software».[34] Un sistema basado en Linux es un sistema operativo modular tipo Unix, que deriva gran parte de su diseño básico de los principios establecidos en Unix durante las décadas de 1970 y 1980. Dicho sistema utiliza un núcleo monolítico, el núcleo Linux, que maneja el control de procesos, las redes, el acceso a los periféricos y los sistemas de archivos. Los controladores de dispositivos se integran directamente con el núcleo o se agregan como módulos que se cargan mientras el sistema está en ejecución.
El espacio de usuario de GNU es una parte clave de la mayoría de los sistemas basados en el núcleo Linux, siendo Android la excepción notable. La implementación del Proyecto de la biblioteca C funciona como un contenedor para las llamadas al sistema del núcleo Linux necesarias para la interfaz kernel-espacio de usuario. La cadena de herramientas es una amplia colección de herramientas de programación vitales para el desarrollo de Linux (incluidos los compiladores utilizados para construir el núcleo Linux así mismo), y las coreutils implementan muchas herramientas básicas de Unix. El proyecto también desarrolla Bash, un popular shell CLI. La interfaz gráfica de usuario (o GUI) que utilizan la mayoría de los sistemas Linux se basa en una implementación del sistema X Window.[35] Más recientemente, la comunidad Linux busca avanzar a Wayland como el nuevo protocolo de servidor de visualización en lugar de X11. Muchos otros proyectos de software de código abierto contribuyen a los sistemas Linux.
Varias capas dentro de Linux, que también muestran la separación entre el espacio de usuario y el espacio del kernel
open(), exec(), sbrk(), socket(), fopen(), calloc(),... (hasta 2000 subrutinas) glibc pretende ser rápido, musl y uClibc sistemas embebidos, bionic escrito para Android, etc. Todos pretenden ser compatibles con POSIX/SUS.
Los componentes instalados de un sistema GNU/Linux incluyen los siguientes:[35][36]
Un cargador de arranque, por ejemplo GNU GRUB, LILO, SYSLINUX o Gummiboot. Este es un programa que carga el núcleo Linux en la memoria principal de la computadora, al ser ejecutado por la computadora cuando se enciende y después de que se realiza la inicialización del firmware.
Un programa de inicio, como el sysvinit tradicional y el systemd más nuevo, OpenRC y Upstart. Este es el primer proceso lanzado por el núcleo Linux, y está en la raíz del árbol de procesos: en otros términos, todos los procesos se inician a través de init. Inicia procesos como los servicios del sistema y las solicitudes de inicio de sesión (ya sean gráficos o en modo terminal).
Bibliotecas de software, que contienen código que pueden utilizar los procesos en ejecución. En los sistemas Linux que utilizan archivos ejecutables en formato ELF, el enlazador dinámico que gestiona el uso de bibliotecas dinámicas se conoce como ld-linux.so. Si el sistema está configurado para que el usuario compile el software por sí mismo, también se incluirán archivos de cabecera para describir la interfaz de las bibliotecas instaladas. Además de la biblioteca de software más utilizada en los sistemas Linux, la biblioteca GNU C (glibc), existen muchas otras bibliotecas, como SDL y Mesa.
La biblioteca estándar C es la biblioteca necesaria para ejecutar programas C en un sistema informático, siendo la biblioteca GNU C el estándar. Para los sistemas embebidos, se han desarrollado alternativas como musl, EGLIBC (una bifurcación glibc usada una vez por Debian) y uClibc (que fue diseñado para uClinux), aunque las dos últimas ya no se mantienen. Android usa su propia biblioteca C, Bionic.
Comandos básicos de Unix, siendo GNU Core Utilities la implementación estándar. Existen alternativas para los sistemas embebidos, como el copyleft BusyBox y el Toybox con licencia BSD.
Los kits de herramientas de widgets son las bibliotecas que se utilizan para crear interfaces gráficas de usuario (GUI) para aplicaciones de software. Hay numerosos kits de herramientas de widgets disponibles, incluidos GTK y Clutter desarrollados por el proyecto GNOME, Qt desarrollado por Qt Project y dirigido por Digia, y Enlightenment Foundation Libraries (EFL) desarrolladas principalmente por el equipo de Enlightenment.
Los sistemas operativos GNU/Linux pueden funcionar tanto en entorno gráfico como en modo consola, ya que el entorno gráfico no va explícitamente unido al resto de programas de manejo del sistema y puede usarse de forma opcional.[37] La consola es común en distribuciones para servidores, mientras que la interfaz gráfica está orientada al usuario final, tanto de hogar como empresarial. Asimismo, también existen los entornos de escritorio, que son un conjunto de programas formado por gestores de ventanas, iconos y muchas aplicaciones que facilitan la utilización de la computadora en modo gráfico. Los escritorios más populares en GNU/Linux son: GNOME, KDE Plasma, LXQt, Xfce, MATE y Cinnamon, aunque existen muchos más, también puede usarse con solo los gestores de ventanas, que son la columna vertebral de los entornos de escritorio, y los encargados de dibujar la interfaz de las aplicaciones y la composición.
La colección de utilidades para la programación de GNU es con diferencia la familia de compiladores más utilizada en este sistema operativo. Cuenta con capacidad para compilar código fuente de lenguajes de programación como: C, C++, Java, Ada, Pascal, D y Fortran, entre muchos otros.[38] Además, soporta diversas arquitecturas de procesador mediante la compilación cruzada, lo que hace que sea un entorno adecuado para desarrollos heterogéneos.
Existen varios entornos de desarrollo integrados disponibles para GNU/Linux, incluyendo Anjuta, KDevelop, Lazarus, Ultimate++, Code::Blocks, NetBeans IDE y Eclipse. También existen editores extensibles como Emacs o Vim. GNU/Linux también dispone de capacidades para lenguajes de guion (script), aparte de los clásicos lenguajes de programación de shell, o el de procesado de textos por patrones y expresiones regulares conocido como awk. La mayoría de las distribuciones tienen instalado Python, Perl, PHP y Ruby y en caso de no venir instalados estos lenguajes, es muy sencilla su instalación, generalmente a través de un repositorio común.
Aplicaciones de usuario
Las aplicaciones para GNU/Linux se distribuyen en una variedad de formatos debido a la diversidad de métodos de manejo de paquetes de software, algunos más preparados para ser ejecutados que otros. Mientras que en sistemas como Windows o MacOS el usuario normalmente busca el software de terceros por su cuenta; las distribuciones GNU/Linux fueron pioneras en los repositorios de aplicaciones soportadas oficialmente por el sistema operativo, similar a las tiendas de aplicaciones modernas, donde el usuario acude a buscar el software que desea instalar.[39][40] Las aplicaciones precompiladas existen mayoritariamente en los formatos.deb y .rpm, usados en Debian y Red Hat respectivamente y sus descendientes. También existe la posibilidad de compilar los programas en forma de recetas make a partir de su código fuente, y algunos desarrolladores de aplicaciones solo distribuyen su software de esta manera, transfiriendo la labor de crear un programa ejecutable a las distribuciones interesadas en empaquetar su aplicación, o al usuario por su propia cuenta, si lo desea.
Durante la primera época había pocas aplicaciones de código cerrado para GNU/Linux. Con el tiempo se fueron uniendo programas no libres al sistema GNU/Linux, entre ellos Adobe Reader, Adobe Flash, Opera, entre muchos otros. Algunos ejemplos de aplicaciones en GNU/Linux se pueden ver a continuación.
En el entorno de GNU/Linux, los dispositivos de bloques, como los discos duros, desempeñan un papel esencial en el almacenamiento de datos. Estos dispositivos se dividen en unidades lógicas más pequeñas llamadas particiones, lo que permite una organización y gestión eficiente del espacio de almacenamiento.
Cada partición se representa como un archivo en el sistema de archivos de GNU/Linux y se encuentra ubicada en el directorio /dev. Por ejemplo, el archivo /dev/sda representa el primer disco duro, mientras que /dev/sdb representa el segundo. Estos archivos de dispositivo de bloques se pueden acceder y manipular como cualquier otro archivo en el sistema.
Para asociar una partición a un sistema de archivos accesible, es necesario realizar un proceso de montaje. Durante el montaje, se conecta el sistema de archivos asociado a la partición a un punto específico en el árbol de directorios. Esto se puede hacer de forma explícita o mediante programación en el arranque del sistema.
La estructura y configuración de los dispositivos de bloques se puede examinar y modificar utilizando comandos como fdisk. Con fdisk, es posible examinar la estructura de un dispositivo conocido o realizar cambios en su estructura particionando el disco.
En el sistema de archivos de GNU/Linux, cada partición se puede formatear con un sistema de archivos específico, como ext4, XFS o NTFS. El sistema de archivos define la forma en que se organizan y almacenan los datos en la partición, permitiendo la creación y gestión de archivos y directorios.
La información sobre los dispositivos de almacenamiento disponibles en el sistema se puede obtener de diferentes maneras. Una de ellas es a través del archivo /etc/fstab, que indica los dispositivos preparados para el montaje durante el arranque del sistema o los dispositivos extraíbles que se pueden montar. Sin embargo, no es necesario que estén listados todos los dispositivos del sistema en este archivo, ya que es posible montarlos bajo demanda utilizando el comando mount o desmontarlos mediante el comando umount.
Empresas que patrocinan su uso
Con la adopción por numerosas empresas fabricantes, un buen número de computadoras se venden con distribuciones preinstaladas, y GNU/Linux ha comenzado a tomar su lugar en el vasto mercado de las computadoras de escritorio.
Numerosos estudios cuantitativos sobre software de código abierto están orientados a temas como la cuota de mercado y la fiabilidad, y ciertamente muchos de estos estudios examinan específicamente a GNU/Linux.[70]
La medición «cuota de mercado» puede resultar inservible ya que es un concepto basado en ventas comerciales (unidades materiales vendidas). Por otro lado Linux es utilizado frecuentemente en servidores con acceso público desde Internet por lo que la cuota de mercado es extremadamente inferior a la cuota de uso. Baste notar, p.ej, que Facebook, Gmail, LinkedIn o Yahoo funcionan sobre servidores GNU/Linux, de tal forma que cuando se está accediendo desde un navegador ejecutándose en Windows/Mac, la aplicación real se está ejecutando en servidores Linux y los datos están almacenándose igualmente en dichos servidores.[71]
Hay varias empresas que comercializan soluciones basadas en GNU/Linux: IBM, Red Hat (RHEL), Rxart, Canonical Ltd. (Ubuntu), así como miles de PYMES que ofrecen productos o servicios basados en esta tecnología.
Una aproximación estadística básica y estimada sobre número de usuarios de GNU/Linux a escala global lo ofrece el proyecto Linux Counter.
Aplicaciones
Supercomputadoras
Dentro del segmento de las supercomputadoras, a noviembre de 2017, el uso de este sistema ascendió al 100 % de las computadoras más potentes del mundo por su confiabilidad, seguridad y libertad para modificar el código.[72] De acuerdo con TOP500.org, que lleva estadísticas sobre las 500 principales supercomputadoras del mundo, a noviembre de 2017: las 500 usaban una distribución basada en GNU/Linux.
GNU/Linux, además de liderar el mercado de servidores de Internet debido, entre otras cosas, a la gran cantidad de soluciones que tiene para este segmento, tiene un crecimiento progresivo en computadoras de escritorio y portátiles. Además, es el sistema base que se ha elegido para el proyecto OLPC: One Laptop Per Child.[73]
El CERN (Organización Europea para la Investigación Nuclear) usa Linux, primero Scientific Linux y luego crearon CCentSO (CERN CentOS), una versión de CentOS específica para las aplicaciones del CERN.[74][75]
Parte de la comunidad y numerosos medios prefieren denominar a esta combinación como Linux, aunque GNU/Linux (con las variantes GNU con Linux y GNU+Linux) es la denominación defendida por el Proyecto GNU y la FSF junto con otros desarrolladores y usuarios para el conjunto que utiliza el sistema operativoLinux con las aplicaciones de sistema creadas por el proyecto GNU y por muchos otros proyectos de software.[76][77]
Desde 1984, Richard Stallman y muchos voluntarios están intentando crear un sistema operativo libre con un funcionamiento similar a UNIX, recreando todos los componentes necesarios para tener un sistema operativo funcional. A comienzos de los años 1990, unos seis años desde el inicio del proyecto, GNU tenía muchas herramientas importantes listas, como editores de texto, compiladores, depuradores, intérpretes de comandos de órdenes etc., excepto por el componente central: el núcleo.
GNU tiene su propio proyecto de núcleo, llamado Hurd. Sin embargo, su desarrollo no continuó como se esperaba al aparecer el núcleo Linux. De esta forma, se completaron los requisitos mínimos y surgió el sistema operativoGNU que utilizaba el núcleo Linux.
El principal argumento de los defensores de la denominación GNU/Linux es resolver la posible confusión que se puede dar entre el núcleo (Linux) y gran parte de las herramientas básicas del resto del sistema operativo (GNU), y del sistema completo que usualmente se usa como combinación de GNU, Linux, y otros proyectos de software. Además, también se espera que con el uso del nombre GNU, se dé al proyecto GNU el reconocimiento por haber creado las herramientas de sistema imprescindibles para ser un sistema operativo compatible con UNIX, y se destaque la cualidad de estar compuesto solo por software libre. La primera distribución que incluyó el GNU en su nombre fue Yggdrasyl en 1992, donde aparecía como Linux/GNU/X. La FSF denominó a este sistema «Linux» hasta al menos junio de 1994[78] y recién a partir de enero de 1995 empezó a llamarlo «GNU/Linux» (también GNU+Linux y lignux, términos que han caído en desuso a instancias del propio Stallman).[79]
En ocasiones, el proyecto KDE ha utilizado una tercera denominación: GNU/Linux/X para enfatizar los tres proyectos sobre los que se apoya su entorno de escritorio.
Una distribución de Linux es una distribución de software basada en el núcleo Linux que incluye determinados paquetes de software para satisfacer las necesidades de un grupo específico de usuarios, dando así origen a ediciones domésticas, empresariales y para servidores. La distribución más famosa es Ubuntu, la cual ha sido una de las que han hecho famoso a Linux en el mundo y equiparable a otros sistemas como Windows o macOS, pero Ubuntu no existiría sin Debian, una de las más antiguas y grandes distribuciones de la cual se basó Canonical para desarrollar Ubuntu.
Es una distribución de GNU/Linux realizada por una comunidad de desarrolladores y usuarios. Esta asociación de personas unidas por la causa de crear un sistema operativo 100 % libre, y lo denominaron Proyecto Debian. Además se la considera una distribución madre, ya que a partir de Debian nacieron infinidad de distribuciones como Ubuntu, Linux Mint, SteamOS, Kali Linux, PureOS, Deepin, entre otras.
El proyecto Debian también desarrolla sistemas GNU basados en otros núcleos aparte de Linux como (Debian GNU/Hurd, Debian GNU/NetBSD y Debian GNU/kFreeBSD). El modelo de desarrollo del proyecto es ajeno a motivos empresariales o comerciales, siendo llevado adelante por los propios usuarios, aunque cuenta con el apoyo de varias empresas en forma de infraestructuras. Debian no vende directamente su software, lo pone a disposición de cualquiera en Internet, aunque sí permite a personas o empresas distribuirlo comercialmente mientras se respete su licencia.[83]
Es la quinta distribución más popular según DistroWatch.[84]
Distribución basada en Debian, desarrollada y mantenida por la empresa Canonical, siendo una de las más utilizadas. Se orienta a usos generales y se caracteriza por su compatibilidad de software y facilidad de uso equiparable a Mac OS X o Windows. Cuenta con varias versiones, entre las que destacan: Ubuntu Desktop, Kubuntu, Xubuntu, Lubuntu y Ubuntu Server.
Cada seis meses se publica una nueva versión de Ubuntu. Esta recibe soporte por parte de Canonical durante nueve meses por medio de actualizaciones de seguridad, parches para bugs críticos y actualizaciones menores de programas. Las versiones LTS (Long Term Support), que se liberan cada dos años,[85] reciben soporte durante cinco años en los sistemas de escritorio y de servidor.[86]
Distribución para propósitos generales, que hace uso de la paqueteria RPM. Se caracteriza por ser estable y seguro, la cual es desarrollada y mantenida por la empresa Red Hat y una comunidad internacional de ingenieros, diseñadores gráficos y usuarios que informan de fallos y prueban nuevas tecnologías. Sus usos se orientan más al desarrollo de software y servidores.
El proyecto no busca solo incluir software libre y de código abierto, sino ser el líder en ese ámbito tecnológico.[87][88] Algo que hay que destacar es que los desarrolladores de Fedora prefieren hacer cambios en las fuentes originales en lugar de aplicar los parches específicos en su distribución, de esta forma se asegura que las actualizaciones estén disponibles para todas las variantes de GNU/Linux.[87] Max Spevack en una entrevista afirmó que: «Hablar de Fedora es hablar del rápido progreso del software libre y de código abierto».[87]
Distribución auspiciada por SUSE Linux GmbH (una división independiente de The Attachmate Group), y AMD. Se orienta en ofrecer un sistema operativo estable, potente y administrable para usos realmente avanzados, pero con una gran facilidad para todo público en general. Usa la paqueteria RPM.
A diferencia de las distribuciones populares basadas en el Núcleo Linux como Ubuntu o Linux Mint, Arch Linux se caracteriza por la gran necesidad de manualmente configurar el sistema operativo, comparándose con otras distribuciones como Slackware o Gentoo Linux. Para instalar y configurar este sistema operativo se necesita un grado de conocimiento superior al básico. No obstante, se puede mantener y administrar el sistema de forma sencilla.
Manjaro Linux está basado en Arch Linux, pero tiene su propio conjunto de repositorios. La distribución apunta a ser amigable con el usuario manteniendo las características de Arch, como por ejemplo el gestor de paquetes Pacman y la compatibilidad con AUR (Arch User's Repository). Manjaro utiliza tres repositorios: el unstable que contiene los más recientes paquetes de Arch, probablemente con un retraso de uno a dos días; el repositorio testing que agrega paquetes desde el repositorio unstable cada semana; y el repositorio stable que contiene solo paquetes que son considerados estables por el equipo de desarrollo, además de scripts que ayudan a que las actualizaciones conflictivas se configuren automáticamente sin necesidad de intervención del usuario, como en el caso de las otras ramas, o en Arch Linux.
Esta distribución llegó al segundo puesto en DistroWatch, está enfocada en la facilidad de uso. Usa un modelo de desarrollo denominado rolling release o de Liberación continua.
Gentoo Linux es una metadistribución basado en el modelo de Liberación continua («rolling release» en Idioma inglés) destinada a usuarios que quieran control completo del sistema.
Debido a esto, es compatible con una gran multitud de arquitecturas por el hecho que se tiene que compilar los paquetes (a partir del código fuente) que se deseen instalar a medida del usuario y máquina destino. Todo esto está permitido por Portage, un gestor de paquetes basado en Ports, la base de los gestores de paquetes en los sistemas operativos basados en BSD.
Totalmente libres
Son distribuciones seriamente comprometidas con el Software libre y se abstienen de incluir aplicaciones, manuales y documentación que no sean libres. Algunas de ellas son:
Dragora GNU/Linux: Una distribución GNU/Linux independiente basada en la idea de simplicidad.
Dyne:bolic: Una distribución de GNU/Linux con especial énfasis en la edición de audio y vídeo. Es una distribución «estática», que normalmente se ejecuta desde un CD autónomo. Debería utilizarse sin conexión a la red, ya que no recibe actualizaciones de seguridad.
gNewSense: Una distribución de GNU/Linux basada en Debian, con el patrocinio de la FSF.
Guix System: Una distribución GNU/Linux avanzada basada en GNU Guix, un gestor de paquetes puramente funcional para el sistema GNU.
Hyperbola GNU/Linux-libre: Una distribución enfocada en la simplicidad y con soporte a largo plazo, basada en Arch GNU/Linux.
Parabola GNU/Linux: Una distribución basada en Arch que prioriza la gestión sencilla del sistema y de los paquetes.
PureOS: Una distribución de GNU basada en Debian enfocada en la privacidad, la seguridad y la comodidad.
Trisquel: Una distribución de GNU/Linux basada en Ubuntu y destinada a las pequeñas empresas, usuarios domésticos y centros educativos.
UTUTO S: Una distribución de GNU/Linux 100 % libre. Fue el primer sistema GNU/Linux completamente libre reconocido por el Proyecto GNU.
Ligeras
Distribuciones para dispositivos pequeños con recursos limitados, como por ejemplo un router inalámbrico. Estas distribuciones no son autónomas sino que deben poder ser desarrolladas y compiladas sobre una de las distribuciones libres completas de la lista anterior, posiblemente con el auxilio de herramientas de desarrollo libres distribuidas junto a la misma.
libreCMC: Es una distribución GNU/Linux embebida para dispositivos con recursos muy limitados. Aunque está pensada principalmente para routers, ofrece soporte para una amplia gama de dispositivos y situaciones de uso. En 2015, LibreWRT se fusionó con libreCMC.
ProteanOS: Es una nueva distribución, pequeña y veloz, para dispositivos embebidos. Posee una funcionalidad de configuración que permite configurar los paquetes binarios en el momento de la compilación o en tiempo de ejecución, según los diferentes tipos de hardware y usos.
The operating system interacts directly with the hardware, providing common services to programs and insulating them from hardware idiosyncrasies. Viewing the system as a set of layers, the operating system is commonly called the system kernel, or just the kernel, emphasizing its isolation from user programs. Because programs are independent of the underlying hardware, it is easy to move them between UNIX systems running on different hardware if the programs do not make assumptions about the underlying hardware.
Maurice J. Bach, "The design of the unix operating system", Prentice/Hall, 1986, p. 4
Its important to realize that these programs are not part of the operating system (...). The operating system is the portion of the software that runs in kernel mode (...). A trend in modern operating systems is to take this idea of moving code up into higher layers even further and remove as much as possible from the operating system, leaving a minimal kernel (Refiriéndose a un sistema micronúcleo basado en el modelo cliente-servidor. El autor indica repetidamente que es razonable argumentar que las funciones que pasan a ejecutarse en espacio de usuario siguen siendo parte del sistema operativo).
Operating Systems Design & Implementation, Tanenbaum y Woodhull.
↑Williams, Sam (marzo de 2002). «Richard Stallman's Crusade for Free Software»(html). O'Reilly Media(en inglés). Consultado el 25 de junio de 2019. « Stallman wanted Murdock to call its distribution "GNU/Linux." At first, Murdock says, Stallman had wanted to use the term " Lignux"-"as in Linux with GNU at the heart of it"-but a sample testing of the term on Usenet and in various impromptu hacker focus groups had merited enough catcalls to convince Stallman to go with the less awkward GNU/Linux. ».
↑Weeks, Alex (2004). «1.1». Linux System Administrator's Guide (versión 0.9 edición). Consultado el 18 de enero de 2007.
↑Ritchie, D.M. (Octubre 1984), "The UNIX System: The Evolution of the UNIX Time-sharing System", AT&T Bell Laboratories Technical Journal, 63 (8): 1577, Sin embargo, UNIX nació en 1969...
↑Linus Torvalds. «Notas de la versión para Linux v0.12». Archivado desde el original el 10 de agosto de 2011. Consultado el 10 de junio de 2020.Los derechos de autor de Linux cambiarán: He tenido un par de peticiones para hacerlo compatible con el copyleft de GNU, eliminando la condición "no puedes distribuirlo por dinero". Estoy de acuerdo. Propongo que se modifique el copyright para que confirme a GNU - pendiente de aprobación de las personas que han ayudado a escribir código. Supongo que esto no va a ser un problema para nadie: Si tiene quejas ("Escribí ese código suponiendo que los derechos de autor permanecerían iguales") envíeme un correo. De lo contrario El copyleft GNU entrará en vigor desde el primero de febrero. Si no conoce la esencia de los derechos de autor de GNU, léalo.
↑ abTHE O’REILLY OPEN SOURCE SOFTWARE CONVENTION (23 de julio de 2001). «Anatomy of a linux system»(PDF). manchester.ac.uk(en inglés). Consultado el 12 de agosto de 2020.
↑M. Tim Jones (31 de mayo de 2006). «Inside the Linux boot process». IBM(en inglés). Archivado desde el original el 17 de octubre de 2013. Consultado el 15 de agosto de 2020.