GNU/Linux (pronunciado oficialmente como ñu linux o también ge-ene-u linux en español)[2] es una familia de sistemas operativos tipo Unix compuesto por software libre y de código abierto.[3] GNU/Linux surge de las contribuciones de varios proyectos de software, entre los cuales destacan GNU (iniciado por Richard Stallman en 1983) y el núcleo Linux (comenzado por Linus Torvalds en 1991).[4]
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 que 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.
Algunas de estas distribuciones son especialmente conocidas por su uso en servidores de Internet, en supercomputadoras, y en sistemas embebidos;[11] mercados donde GNU/Linux tiene la mayor cuota de participación. El proyecto de ranking Top500.org informa que, desde 2017, las 500 supercomputadoras más potentes del mundo utilizan todas ellas alguna versión del sistema operativo GNU/Linux; y desde 2004 ya era el sistema dominante.[12]Diversas encuestas lo han posicionado constantemente como el sistema operativo más popular para servidores web.[13][14][15] En aplicaciones embebidas es común encontrar Linux instalado en routers, smart TV y relojes inteligentes, sistemas de entretenimiento de automóviles, y grabadoras de video digital.[16][17] Aunque 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.
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]
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.