El nucleu Linux ye un nucleu de sistema operativu tipu Unix, monolíticu, modular y multitarea. Linux ye software llibre y de códigu abiertu . Foi orixinalmente escritu en 1991 por Linus Torvalds pal so PC basao en i386, y llueu foi adoptáu como'l nucleu pal sistema operativu GNU/Linux, que foi creáu como un reemplazu llibre para Unix.

Linux apurrese so la Llicencia Pública Xeneral de GNU versión 2, pero contien partes so otres llicencies compatibles. Dende finales de la década de 1990, foi incluyíu como parte d'un gran númberu de distribuciones de sistemes operativos, munches de les cuales tamién se denominan comúnmente Linux.

Linux s'emplega nuna amplia variedá de sistemes informáticos, como sistemes enfiñíos, dispositivos móviles (incluyíu'l sistema operativu Android), ordenadores personales, servidores, mainframes y supercomputadoras.

Puede ser adautáu p'arquitectures específiques y para dellos escenarios d'usu utilizando una familia de comandos simples (esto ye, ensin necesidá d'editar manualmente'l so códigu fonte antes de la compilación). Usuarios con privilexos tamién pueden afacer los parámetros del nucleu en tiempu d'execución. La mayor parte del códigu del nucleu de Linux ta escritu utilizando les estensiones de GNU del GCC al estándar del llinguaxe de programación C y col usu d'instrucciones específiques de l'arquitectura (ISA) en partes llindaes del nucleu. Esto produz un executable altamente optimizáu (vmlinux) al respeutu de l'usu del espaciu de memoria y los tiempos d'execución de xeres.

Los alderrequiers de desendolque cotidianos tienen llugar na Linux kernel mailing list (LKML). Los cambeos rastréxense utilizando'l sistema de control de versiones git, que foi orixinalmente creáu por Torvalds como un reemplazu de software llibre para BitKeeper.

Carauterístiques Nel ficheru Lléeme de Linux indícase que ye un clon del sistema operativu Unix. Sicasí, Linux ye un nucleu asemeyáu al nucleu d'un sistema operativu Unix. Ello ye que primero publicóse como nucleu asemeyáu a Minix, que de la mesma yera asemeyáu a Unix, pero con una conceición de micronúcleo en llugar de monolítica .Un micronucleu contien una funcionalidá mínima en comparación con un nucleu monolíticu tradicional.

Darwin y GNU Hurd tienen núcleos que son una versión de Mach. Minix, sistema operativu nel que se basó primero Linux, tamién ye micronúcleo. Toos ellos tienen de mancomún el treslláu de parte de la funcionalidad n'espaciu privilexáu a espaciu d'usuariu.

A los sistemes operativos que lleven Linux llámase-yos de forma xenérica distribuciones Linux. Estes consisten nuna escoyeta de software qu'inclúi'l nucleu Linux y el restu de programes necesarios para completar un sistema operativu . Les distribuciones más comunes son de fechu distribuciones GNU/Linux o distribuciones Android. El fechu de que compartan nucleu nun significa que sían compatibles ente sí. Una aplicación fecha para GNU/Linux nun ye compatible con Android ensin el llabor adicional necesariu por que sía multiplataforma.

Les distribuciones GNU/Linux usen Linux como nucleu xunto cola redolada de tiempu d'execución del Proyectu GNU y una serie de programes y ferramientes del mesmu que garanticen un sistema funcional mínimu. La mayoría de distribuciones GNU/Linux inclúin software adicional como redolaes gráfiques o restoladores web, amás de los programes necesarios para dexase instalar a sí mesmes. Los programes d'instalación son apurríos pol desarrollador de la distribución. Conózse-yos como xestores de paquetes. Los ceadores d'una distribución tamién pueden encargase d'añader configuraciones iniciales para los distintos programes incluyíos na distribución.

Les distribuciones Android inclúin el nucleu Linux xuntu cola redolada d'execución y ferramientes del proyectu AOSP de Google. Cada fabricante de teléfonos dispon de la so propia distribución d'Android a la cual modifica, esanicia o añade programes extra: interfaces gráfiques, tiendes d'aplicaciones y clientes de corréu electrónicu son dellos exemplos de programes susceptibles de ser añadíos, modificaos o esaniciaos. Amás de les distribuciones de los fabricantes de teléfonos esisten grupos de programadores independientes que tamién desenvuelven distribuciones de Android. GrapheneOS, LineageOS (antes CyanogenMod), Replicant y Pixel Experience son exemplos de distribuciones Android independientes tamién llamaes custom "ROMs" o firmwares non oficiales.

Historia

miniaturadeimagen|Notes de publicación de Linux 0.01 N'abril de 1991, Linus Torvalds, de 21 años, entamó a trabayar nunes simples idees para un nucleu d'un sistema operativu. Entamó intentando llograr un nucleu de sistema operativu gratuitu similar a Unix, que funcionara con microprocesadores Intel 80386. Tomó como base al sistema Minix (un clon d'Unix) y fixo un nucleu monolíticu compatible que primero riquía software de Minix para funcionar. El 26 d'agostu de 1991 Torvalds escribió nel grupu de noticies comp.vos.minix:Dichu mensaxe espertó munchu interés na comunidá computacional universitaria. En septiembre de 1991 Linux lliberó la versión 0.01 del kernel Linux. Tenía 10.239 llínees de códigu col que munches persones quixeron collaborar.. El 5 d'ochobre d'esi añu (1991), salió la versión 0.02 del kernel, primer versión "oficial" y aplicable que yá corría ferramientes básiques como bash, gcc, make, sei, compress, etc.. Depués, n'avientu llanzóse la versión 0.11(1991). Esta versión foi la primera en ser self-hosted (autoalbergada). Esto ye, Linux 0.11 podía ser compilado por un ordenador qu'executara Linux 0.11, ente que les versiones anteriores de Linux se compilaban usando otros sistemes operativos. Cuando llanzó la siguiente versión, Torvalds adoptó la GPL como'l so propiu bocetu de llicencia, que nun dexa la so redistribución con otra llicencia que nun sía GPL. Antes d'esti cambéu, torgábase el cobru pola distribución del códigu fonte .

Empecipióse un grupu de noticies llamáu alt.vos.linux y el 19 de xineru de 1992 publicose nesi grupu la primera publicación (post). El 31 de marzu, alt.vos.linux conviertese en comp.vos.linux. XFree86, una implementación del X Window System, foi portada a Linux, la versión del nucleu 0.95 foi la primera en ser capaz d'executala. Esti reblincón de versiones (de 0.1x a 0.9x) foi pola sensación de qu'una versión 1.0 acabada nun paecía tar llueñe. Sicasí, estes previsiones resultaron ser un pocu optimistes: dende 1993 hasta principios de 1994 desendolcáronse 15 versiones distintes de 0.99 (llegando a la versión 0.99r15).

El 14 de marzu de 1994, salió Linux 1.0.0, que constaba de 176.250 llinies de códigu. En marzu de 1995 llanzóse Linux 1.2.0, que yá taba compuestu de 310.950 llinies de códigu.

Desendolcadores principales Posición2012 The Linux Foundation Releases Annual Linux Development Report201320171Red HatGoogleIntel2IBMLinaroRed Hat3Texas InstrumentsSUSELinaro4BroadcomIBMDesconocido5NokiaSamsungIBM6SamsungRed HatConsultants7OracleVision Engraving Systems ConsultantsSamsung8GoogleWolfson MicroelectronicsSUSE

Aspeutos téunicos Linux aprove controladores, planificadores, xestores de memoria virtual, sistemes de ficheros y protocolos de rede como IPv4 y IPv6. Amás ta disponible para múltiples arquitectures hardware y ta diseñáu de manera que se facilite la so portabilidad a arquitectures nueves.

Arquitectura miniaturadeimagen|235x235px|Diagrama del nucleu 2.4.0. Anguaño Linux ye un nucleu monolíticu híbridu. Los controladores de dispositivos y les estensiones del núcleu de normal execútense nun espaciu privilexáu conocíu como aniellu 0 (ring 0), con accesu irrestrictu al hardware, anque dalgunos execútense n'espaciu d'usuariu. A diferencia de los núcleos monolíticos tradicionales, los controladores de dispositivos y les estensiones al nucleu pueden cargase y descargase fácilmente como módulos, mientres el sistema sigue funcionando ensin interrupciones. A diferencia de los núcleos monolíticos tradicionales, los controladores tamién pueden ser pre-volquiados (deteníos momentáneamente por actividaes más importantes) so ciertes condiciones. Esta habilidá foi amestada para xestionar correchamente interrupciones de hardware y p'ameyorar el soporte de multiprocesamiento simétricu.

El fechu de que Linux nun fuera desendolcáu siguiendo'l diseñu d'un micronúcleo (diseñu que, naquella dómina, yera consideráu el más apropiáu pa un nucleu por munchos teóricos informáticos), foi motivu d'un famosu y encaloráu discutiniu ente Linus Torvalds y Andrew S. Tanenbaum.

Arquitectura de máquina virtual El nucleu Linux puede correr sobro munches arquitectures de máquina virtual, tanto como host del sistema operativu o como cliente. La máquina virtual usualmente emula la familia de procesadores Intel x86, anque en dellos casos tamién son emulaos procesadores de PowerPC o ARM.

Depuración Pa verificar el correutu funcionamientu del nucleu, esti aprove la posibilidá de compilarse contra l'arquitectura ficticia «User Mode Linux» (UML). Compilando Linux pa UML, el nucleu pasa a executase como un procesu más d'usuariu executándose nel nucleu Linux del sistema anfitrión. Tamién puede sirvir como virtualización o p'aisllar procesos, ente otros usos.

Formatos binarios soportaos Linux 1.0 almitía solo'l formatu binariu a.out. La siguiente serie estable (Linux 1.2) amestó l'usu del formatu ELF, que simplifica la creación de biblioteques compartíes (usaes de forma estensa polos actuales ambientes d'escritoriu como GNOME y KDE). ELF ye'l formatu por defeutu por GCC dende alredor de la versión 2.6.0. El formatu a.out anguaño nun ye usáu, convirtiendo a ELF nel formatu binariu utilizáu por Linux na actualidá

Linux tien la capacidá de dexar al usuariu añader el manexu d'otros formatos binarios. Tamién binfmt_misc dexa correr el programa acomuñáu a un ficheru de datos.

Xerarquía de directorios En Linux esiste un sistema de ficheros que carga y contien tolos directorios, redes, programes, particiones, dispositivos, etc. que'l sistema sabe reconocer, o a lo menos, identificar. Esti sistema de ficheros y directorios, tien como base al calter (/); ese mesmu calter sirve tamién pa demarcar los directorios, como por casu: "/home/usuariu/imaxe .jpg". El directoriu especificáu per una ruta consistente solo por esti calter contien tola xerarquía de los directorios que constitúin el sistema. A esti directoriu se le suel llamar directorio raíz. En Linux, a los discos nun se-yos asigna xuna lletra como en Windows (p.e. "C:"), sinón que se-yos asigna un directoriu de la xerarquía del directoriu raíz (/), como por casu: "/media/floppy". Ye práutica común nel sistema de ficheros de Linux, utilizar delles sub-xerarquíes de directorios, según les distintes funciones y estilos d'usu de los ficheros. Estos directorios pueden clasificase en:

Estáticos: Contién ficheros que nun camuden ensin la intervención del alministrador (root), sicasí, pueden ser lleíos por cualesquier otru usuariu. (/bin, /sbin, /opt, /boot, /usr/bin...) Dinámicos: Contién archivos que pueden lleese y escribise (dellos solo pol so respectivu usuariu y el root). Contien configuraciones, documentos, etc. Pa estos directorios, ye recomendable una copia de seguridá con frecuencia, o meyor entá, tendríen de ser montaos nuna partición estrema nel mesmu discu, como por casu, montar el directoriu /home n'otra partición del mesmu discu, independiente de la partición principal del sistema; d'esta forma, puede reparase'l sistema ensin afectar o borrar los documentos de los usuarios. (/var/mail, /var/spool, /var-run, /var /lock, /home...) Compartíos: Contién archivos que pueden atopase nun ordenador y utilizase n'otru, o inclusive compartise ente usuarios. Acutaos: Contién ficheros que nun se pueden compartir, solo son modificables pol alministrador. (/etc, /boot, /var/run, /var-lock...)

Llinguaxes de programación