GNU/Linux es la denominación técnica y generalizada que reciben una serie de sistemas operativos de tipo Unix, que también suelen ser de código abierto, multiplataforma, multiusuario y multitarea. Estos sistemas operativos están formados mediante la combinación de varios proyectos, entre los cuales destaca el entorno GNU, encabezado por el programador estadounidense Richard Stallman junto a la Free Software Foundation, una fundación cuyo propósito es difundir el software libre, así como también el núcleo de sistema operativo conocido como «Linux», encabezado por el programador finlandés Linus Torvalds.
El desarrollo de estos sistemas operativos 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. La idea de desarrollar un sistema operativo libre y basado en el sistema operativo Unix, se remonta a mediados de la década de 1980 con el proyecto GNU.
A pesar de que en la jerga cotidiana la mayoría de las personas usan el vocablo «Linux» para referirse a este sistema operativo,kernel o núcleo, ya que el sistema completo está formado también por una gran cantidad de componentes del proyecto GNU, que van desde compiladores hasta entornos de escritorio.
en realidad ese es solo el nombre delSin embargo, tras publicar Torvalds su núcleo Linux en 1991 y ser este usado junto al software del proyecto GNU, una parte significativa de los medios generales y especializados han utilizado el término «Linux» para referirse a estos sistemas operativos completos.Android, así como distribuciones de software GNU donde el núcleo Linux está ausente, como por ejemplo el sistema operativo FreeBSD, que es un sistema operativo basado en Unix, que usa un micronúcleo de sistema operativo junto a algunas aplicaciones del proyecto GNU.
Cabe señalar que, existen derivados de sistemas operativos que usan el núcleo Linux, pero que no tienen componentes GNU, como por ejemplo el sistema operativoLos sistemas operativos GNU/Linux, se encuentran normalmente en forma de compendios conocidos como distribuciones o distros, a las cuales se les han añadido selecciones de aplicaciones y programas, con las cuales el sistema cuenta directamente al ser instalado, así como una amplia serie de programas que pueden descargarse desde un repositorio, que consiste en un almacén de software, para su posterior instalación. El propósito de estas distribuciones es ofrecer GNU/Linux como un producto final que el usuario pueda instalar en su computadora para que funcione como su sistema operativo principal, o también en un software de simulación virtual de computadora, cumpliendo con toda una serie de necesidades básicas para un grupo determinado de usuarios, o para el público general.
Algunas de estas distribuciones son especialmente conocidas por su uso en servidores de Internet, supercomputadoras, y sistemas embebidos; donde GNU/Linux tiene la cuota más importante de esos mercados. Según un informe de IDC, GNU/Linux es utilizado por el 78% de los principales 500 servidores del mundo. Por otro lado, el proyecto de ranking de computadoras Top500.org informa, en su lista de noviembre de 2017, que las 500 supercomputadoras más potentes del mundo utilizan todas ellas alguna distribución del sistema operativo GNU/Linux. Con menor participación, el sistema GNU/Linux también se usa en el segmento de las computadoras de escritorio, portátiles, dispositivos móviles, computadoras de bolsillo, videoconsolas y otros.
El acrónimo recursivo GNU, GNU's Not Unix (GNU no es Unix), proviene de las herramientas básicas de sistema operativo creadas por el proyecto GNU, iniciado por Richard Stallman en 1983 y mantenido por la Free Software foundation. El nombre Linux viene del núcleo Linux, inicialmente escrito por Linus Torvalds en 1991.
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.
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. 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. 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.
El proyecto GNU, iniciado en 1983 por Richard Stallman, tiene el objetivo de crear un «sistema de software compatible con Unix, compuesto enteramente de software libre». El trabajo comenzó en el año 1984. Más tarde, en 1985, Stallman fundó la Free Software Foundation para financiar el desarrollo de GNU, y redactó la Licencia Pública General de GNU en 1989. A principios de la década de 1990, muchos de los programas que se requieren en un sistema operativo (como bibliotecas, compiladores, editores de texto, un shell Unix, y un sistema de ventanas) ya se habían conseguido desarrollar y estaban operativos en el proyecto GNU. Sin embargo, otros elementos, como los controladores de dispositivos y los daemons, estaban todavía en desarrollo e incompletos.
Años después, 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. 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.
En 1991, cuando Torvalds asistía a la Universidad de Helsinki y era usuario del sistema operativo MINIX, y de los programas provenientes del proyecto GNU, estaba muy interesado por el funcionamiento de los sistemas operativos. 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.
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.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, que prohibía la redistribución comercial, y lo difundió bajo la licencia GPL. Los desarrolladores de ambas partes trabajaron para integrar componentes de GNU con el núcleo Linux, consiguiendo un sistema operativo completamente funcional.
Las aplicaciones GNU también se fueron desarrollando de modo que remplazaron 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 laMuchos 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».
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». 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». 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 kernel 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 kernel 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 sí 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. 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.
Los componentes instalados de un sistema Linux incluyen los siguientes:
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. 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.
Escritorio GNOME 3.36
Escritorio KDE Plasma
Escritorio XFCE 4.14
Escritorio Cinnamon 4.4.8
Escritorio MATE 1.20
Escritorio LXQt
Escritorio Openbox
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. 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.
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. 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.
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.
Algunas de las empresas que colaboran en la difusión de este sistema operativo ya sea trabajando en el núcleo Linux, proporcionando soluciones de software o preinstalando el sistema operativo, son: Intel , Google, IBM, AMD, Sun Microsystems, Dell, Lenovo, Asus, Hewlett-Packard (HP), Silicon Graphics International (SGI), Renesas Technology, Fujitsu, Analog Devices, Freescale, VIA Technologies, Oracle, Novell y RedHat, entre otras.
El respaldo de compañías de software también está presente, ya que, entre otras aplicaciones, Nero, Java, Google Earth, Google Desktop, Adobe Reader, Adobe Flash, RealPlayer y Yahoo! Messenger están disponibles para GNU/Linux. Al haber software equivalente, es innecesario instalar los precisamente mencionados con anterioridad.
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.
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 estamos 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.
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.
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.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.
De acuerdo conGNU/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.
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.
Para saber más sobre las arquitecturas soportadas, lea el artículo "Portabilidad del núcleo Linux y arquitecturas soportadas".
Hay una serie de administraciones públicas que han mostrado su apoyo al software libre, sea migrando total o parcialmente sus servidores y sistemas de escritorio, sea subvencionándolo. Como ejemplos se tiene a Alemania, Argentina, Australia, Brasil, España, Chile, China, Cuba, México, Perú, Ecuador, El Salvador, Uruguay y Venezuela.
El sistema operativo del General Atomics MQ-1 Predator está basado en GNU/Linux, así como el del Boeing P-8 Poseidon.
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 operativo Linux con las aplicaciones de sistema creadas por el proyecto GNU y por muchos otros proyectos de software.
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 90, 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 operativo GNU 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 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).
Algunas distribuciones apoyan esta denominación, e incluyen GNU/Linux en sus nombres, como Debian GNU/Linux o GNU/LinEx, mientras que otras, como Slackware, Gentoo o Ubuntu, eligen denominarse basadas en Linux.
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.
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.
Es la quinta distribución más popular según DistroWatch.
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, reciben soporte durante cinco años en los sistemas de escritorio y de servidor.
El proyecto no busca solo incluir software libre y de código abierto, sino ser el líder en ese ámbito tecnológico.Max Spevack en una entrevista afirmó que: "Hablar de Fedora es hablar del rápido progreso del software libre y de código abierto."
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. De acuerdo a DistroWatch, Fedora es la octava distribución de GNU/Linux más popular, por detrás de MX Linux, Manjaro, Linux Mint, Ubuntu, Debian, elementary OS y SolusOS.
A diferencia de las distribuciones populares basadas en el Núcleo Linux como Ubuntu o Linux Mint, Arch Linux no posee herramientas de configuración automática, compartiendo así la misma filosofía de distribuciones, como Slackware. 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.
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.
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:
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.
elementary OS Hera
Deepin 15.4
Zorin OS 15
SolusOS 4.1
Gentoo Linux 12.1
Xubuntu 20.04
MX Linux 19
Huayra GNU/Linux 3.2
Un sistema operativo, como usamos el término, significa una colección de programas que son suficientes para usar la computadora para una realizar una variedad de trabajos. Un sistema operativo de propósito general, para ser completo, debería manejar todos los trabajos que diversos usuarios pueden querer realizar.
El núcleo es uno de los programas en un sistema operativo, el programa que distribuye los recursos de la máquina a los otros programas que estén ejecutándose. El núcleo también se encarga de iniciar y parar otros programas.
Para confundir aún más las cosas, hay personas que emplean la expresión «sistema operativo» para referirse al «núcleo». Esos dos usos de la expresión se remontan a muchos años atrás. El empleo de «sistema operativo» para referirse al «núcleo» se encuentra en numerosos libros de texto sobre diseño de sistemas, desde los años ochenta. Al mismo tiempo, en esos años se entendía que el «sistema operativo Unix» incluía todos los programas del sistema, y la versión de Unix de Berkeley incluía incluso juegos. Como pretendíamos que GNU fuera un sistema operativo similar a Unix, empleamos la expresión «sistema operativo» en el mismo sentido.
La mayoría del tiempo, cuando las personas hablan del «sistema operativo Linux» están usando «sistema operativo» en el mismo sentido que nosotros: se refieren a la colección completa de programas. Si eso es a lo que usted se refiere, llámelo «GNU/Linux», por favor. Si sólo se refiere al núcleo, entonces el nombre correcto para eso es «Linux», pero diga también «núcleo» para evitar la ambigüedad sobre el cuerpo de software al que se refiriere, por favor.
Escribe un comentario o lo que quieras sobre GNU/Linux (directo, no tienes que registrarte)
Comentarios
(de más nuevos a más antiguos)