Linuxové jádro (Linux kernel) je otevřené (open source) systémové jádro používané unix-like operačním systémem GNU/Linux. Je vydáváno pod licencí GPLv2 a kompatibilními spolu s výjimkou, která umožňuje jeho používání společně s komerčním softwarem.– licence jádra Linuxu Je na něm založena skupina operačních systému pro osobní počítače a servery (obvykle ve formě linuxových distribucí) a různé typy vestavěných zařízení jako routery, WPA, telefonní systémy, set-top boxy, chytré televizory a jiné. Operační systém Android pro tabletové počítače, chytré telefony a chytré hodinky využívá služby poskytované linuxovým jádrem a implementuje jeho funkce. Zatímco využití na stolních počítačích je nízké, operační systémy založené na Linuxu mají převahu téměř v každé jiné oblasti výpočetní techniky – od mobilních zařízení až po sálové počítače. Od listopadu 2017 běží na Linuxu všech 500 nejvýkonnějších superpočítačů na světě. Ovladače jsou součástí jádra a tzv. "mainline" ovladače zařízení jsou velmi stabilní. U rozhraní mezi jádrem a moduly jádra (LKM), na rozdíl od mnoha jiných jader a operačních systémů, není zaručena neměnnost.
První verzi jádra naprogramoval Linus Torvalds v roce 1991 pro sebe na architektuře i386, od té doby se Linux rozšířil na obrovský počet jiných architektur. Kromě dnes (počátek 2025) již klasické x86 a AMD64 to jsou architektury IBM PowerPC a System Z, dále různé varianty ARM, MIPS a RISC-V. Torvalds je dodnes nejvyšší neformální a respektovanou autoritou jeho vývoje. Torvalds poskytl zdrojový kód veřejně jako svobodný software a díky tomu se následně k vývoji přidaly tisíce programátorů z celého světa.
Název Linux Linus Torvalds chtěl svůj systém pojmenovat Freax, slovo vzniklé zkombinováním anglického slova freak (případně free) a písmene x jako odkazu na Unix, protože Linux se mu zdálo příliš sebestředné. Když později své soubory nahrál na FTP server (ftp.funet.fi), administrátor serveru Ari Lemmke adresář se soubory nazval Linux, jelikož se mu jméno Freax nelíbilo.
Název Linux původně označoval jen samotné jádro, ale velmi brzy byl název komunitou zevšeobecněn a vztažen na celý systém, který se skládá z jádra operačního systému, knihoven, pomocných nástrojů a dalšího aplikačního software a je souhrnně označován jako linuxová distribuce. Toto označení je však kontroverzní a nepřesné, proto distribuce odvozené z Debianu používají název GNU/Linux, se kterým sám Linus nesouhlasí, protože GNU nástroje netvoří již dlouho významnou část distribuce (přestože právě GNU nástroje byly prvními, které byly v Linuxu použity).
Vývoj jádra Jádro bylo původně napsáno pro procesory architektury i386, ale postupně bylo portováno na mnoho dalších platforem. Je skoro celé napsáno v jazyce C, využívá některá rozšíření překladače GCC a obsahuje úseky kódu v jazyce symbolických adres (nepřesně assembler) v syntaxi AT&T.
Do linuxového jádra přispívá téměř 12 000 vývojářů z 1 200 různých firem z celého světa. Od roku 2005 se počet vývojářů ztrojnásobil. 70–95 % vývojářů je za svoji práci placeno, čili neplatí mýtus, že je jádro vyvíjeno jen dobrovolníky. Největšími přispěvateli do jádra jsou společnosti Red Hat (11,2 % změn), Novell (8,9 % změn), IBM (8,3 % změn) a následují Oracle, MontaVista a Cisco. Do jádra se denně průměrně doplní 3 621 řádků kódu a nová verze vychází zhruba jednou za 2,7 měsíce.
Historie Linus Torvalds začal vyvíjet jádro Linuxu v roce 1991 jako svůj koníček. Byl tehdy studentem finské univerzity v Helsinkách v oboru informatiky (součástí studia jsou unixové operační systémy). Vlastnil počítač kompatibilní s IBM PC s procesorem i386. V této době však neexistoval pro IBM PC volně dostupný unixový operační systém a Linusovi se nechtělo za komerční platit (MINIX, XENIX, SCO Unix). Tyto skutečnosti spolu s faktem, že byl výborný programátor, vedly k zahájení prací na tom, co bylo později označeno jako „Linux“.
Mezi důvody pro vznik právě unixového systému patřil fakt, že Unix je systém, který upřednostňuje jednoduchost. Linus byl dále inspirován MINIXem od Andrewa Tanenbauma, který napsal svoji verzi unixového systému jako doprovodný projekt ke své výuce a knihám o operačních systémech. Na rozdíl od něj však Linus nevyužil svůj projekt komerčně, protože preferoval otevřený vývoj (viz open source software).
Vývoj Linuxu začal jako emulátor terminálu napsaný v jazyce symbolických adres architektury IA-32 (tj. i386 a novější) a v programovacím jazyce C, který mohl být po překladu do binární podoby nabootován z diskety, takže mohl běžet mimo původní operační systém. V emulátoru terminálu běžela dvě vlákna: jedno pro odesílání znaků na sériový port a druhé pro příjem. Když pak chtěl Linus číst nebo zapisovat data na disk, rozšířil tento terminál, který uměl přepínat úlohy, o ovladač souborového systému. Terminál se pak pomalu začal rozvíjet v jádro unixového operačního systému (kompatibilní se standardem POSIX).
První verze linuxového jádra (0.01) byla na Internetu zveřejněna 17. září 1991.Skupiny Google– první jádro Linuxu Linus Torvalds k němu do usenetové skupiny comp.os.minix napsal:
V jádře 0.01 byla zahrnuta dostatečná infrastruktura pro spuštění unixového shellu bash. Původně bylo pro nastavení, kompilaci a instalaci Linuxu potřeba použít funkční systém MINIX. Též pro jeho zavaděč musel být použit jiný operační systém, ale brzy vznikly nezávislé zavaděče, z nichž nejznámější bylo LILO.
K Linusově překvapení byl o jeho nedokonalý systém velký zájem a záhy začal dostávat e-mailem další podněty, opravy a zdrojové kódy. Linus jádro dále vyvíjel a zároveň začal příspěvky ostatních do svého jádra začleňovat. Upravené zdrojové kódy obratem zveřejňoval (další verze byla zveřejněna již v říjnu). Od té doby se na vývoji podílely tisíce vývojářů z celého světa. Model vývoje linuxového jádra a podobného softwaru byl později výstižně popsán v eseji Katedrála a tržiště () od Erica S. Raymonda.
Již velmi brzo předběhl Linux ve vývoji svůj vzor – MINIX. Zejména v počátcích byl při vývoji využíván Projekt GNU, který se již delší dobu zabýval myšlenkou vývoje volně dostupného unixového systému, avšak vlastní jádro operačního systému neměl. Z projektu GNU hned od počátku Linux využil výše zmíněný GNU bash a další nástroje (základní unixové nástroje používané na příkazovém řádku, kompilátor GCC, později též GNU C Library a další). Sám Linux však nikdy nebyl součástí GNU, i když samotné jádro používá licenci GPLv2, která též pochází od GNU.
Linus je dodnes hlavou vývoje jádra, které je zveřejňováno na serveru kernel.org.– server pro zveřejňování zdrojových kódů jádra Linuxu Sám vydává nové verze, přičemž některé starší verze jsou udržovány jinými lidmi. Kromě něj se na vývoji podílejí tisíce programátorů z celého světa.– How patches get into the mainline Již delší dobu se dá říct, že vývoj jádra je z velké části placen firmami, jako jsou Red Hat, Intel, IBM a další.– 2.6.24 – some statistics
Popularita Obrovský nárůst popularity operačního systému Android, který využívá linuxového jádra, dělá z Linuxu nejpoužívanější jádro pro mobilní zařízení, čímž konkuruje všem jádrům všech ostatních operačních systémů vůbec. Existuje mnoho desktopových linuxových distribucí využívajících linuxové jádro, ale podíl distribucí Linuxu je v porovnání s ostatními operačními systémy malý.
Časová osa duben 1991 – tehdy 21letý Linus Torvalds začíná pracovat na jednoduchých funkcích operačního systému 0.0.1 – září 1991 (10 239 řádek kódu) 0.11 – prosinec 1991 – první verze, pod kterou lze zkompilovat Linux 0.11 0.95 – březen 1992 – první verze schopná spuštění X Window System 1.0.0 – 14. března 1994 (176 250 řádek kódu) 1.2.0 – 7. března 1995 (310 950 řádek kódu) 2.0.0 – 9. června 1996 (777 956 řádek kódu) 2.2.0 – 25. ledna 1999 (1 800 847 řádek kódu) 2.4.0 – 4. ledna 2001 (3 377 902 řádek kódu) 2.6.0 – 17. prosince 2003 (5 929 913 řádek kódu) 2.6.16.11 – 24. dubna 2006 (6 981 110 řádek kódu) 2.6.21 – 25. dubna 2007 (7 522 286 řádek kódu) 2.6.25 – 16. dubna 2008 (9 232 484 řádek kódu) 2.6.32 – 3. prosince 2009 (12 606 910 řádek kódu) 3.10 – 30. června 2013 (17 000 000+ řádek kóduWho actually develops Linux? The answer might surprise you) 4.2 – 1. července 2015 (20 000 000+ řádek kódu) 4.3 – 14. listopadu 2015 (20 600 000+ řádek kódu) 6.13 – 19. ledna 2025 (40 000 000+ řádek kódu)
Architektura Linuxové jádro je koncipováno jako jednolitá část kódu s podporou načítání externích modulů. Toho se využívá ke zvýšení stability, urychlení běhu jádra, zmenšení velikosti samotného jádra a zmenšení paměťových nároků.
Linuxové jádro obsahuje podporu opravdového multitaskingu (umožňuje provozovat více úloh/aplikací zároveň), virtuální paměti, správy paměti (správa paměti řízená jádrem, nikoli aplikacemi), sdílených knihoven, modulů, sdílených copy-on-write spustitelných souborů a nezávislých síťových vrstev podporujících mimo jiné síťové protokoly IPv4 a IPv6.
V současné době je Linux modulárním monolitickým jádrem. Ovladače zařízení typicky běží v ring 0 s plným přístupem k hardwaru, avšak některé se nacházejí v uživatelském prostoru. Na rozdíl od standardních monolitických jader lze ovladače zařízení jednoduše konfigurovat jako moduly a za běhu je zavádět či odstraňovat. Rovněž na rozdíl od typických monolitických jader lze na moduly za určitých podmínek uplatňovat preemptivní multitasking. Tato vlastnost byla přidána za účelem lepšího řízení hardwarových přerušení a pro zlepšení podpory symetrického multiprocesingu. Preemptivnost navíc snižuje latenci (odezvu), což je důležité v real-time aplikacích a desktopových nasazeních.
Fakt, že Linux není mikrojádro, byl známým tématem flame waru mezi Linusem Torvaldsem a Andy Tanenbaumem v diskusní skupině comp.os.minix v roce 1992.– Linus vs Tanenbaum
Hardware je také začleněn do systému souborů. Rozhraní ovladačů zařízení k uživatelským aplikacím je zobrazeno prostřednictvím položky v adresářích /dev nebo /sys. Informace o procesech jsou také mapovány do souborového systému prostřednictvím adresáře /proc. +Různé vrstvy v Linuxu, ukazující oddělení uživatelského prostoru a prostoru jádraUživatelský prostorUživatelské aplikaceNapříklad bash, LibreOffice, GIMP, Blender, 0 A.D., Mozilla Firefox atd.Komponenty systému nízké úrovně:Systémoví démoni systemd, runit, logind, networkd, PulseAudioOkenní systém X11, Wayland, SurfaceFlinger (Android)Další knihovny: GTK +, Qt, EFL, SDL, SFML, FLTK, GNUstep atd.Grafika: Mesa, AMD Catalyst, Vulkan…C knihovnaopen (), exec (), sbrk (), socket (), fopen (), calloc ()… (až 2000 podprogramů) glibc chce být POSIX / SUS-kompatibilní, uClibc cíle integrované systémy, bionic psaný pro Android atd.Prostor jádraLinux jádrostat, splice, dup, read, open, ioctl, write, mmap, close, exit, atd. (asi 380 systémových volání) System Call Interface (SCI, cílem je být kompatibilní s POSIX / SUS)podsystém Plánování procesupodsystém IPCpodsystém Správa pamětipodsystém Virtuální souborypodsystém sítěDalší komponenty: ALSA, DRI, evdev, LVM, mapovač zařízení, Plánovač sítí Linux, Netfilter Moduly zabezpečení Linuxu: SELinux, TOMOYO, AppArmor, SmackHardware (CPU, hlavní paměť, zařízení pro ukládání dat atd.)
Programovací jazyk Linuxové jádro je napsáno ve verzi programovacího jazyka C podporované v GCC (který zavedl řadu rozšíření a změn do standardu C) spolu s množstvím krátkých částí kódu napsaných v assembleru (v GCC v syntaxi AT&T) cílové architektury. Kvůli rozšířením C podporuje, GCC byl po dlouhou dobu jediným kompilátorem schopným správně sestavit linuxové jádro.
Kompatibilita kompilátoru GCC je výchozí kompilátor pro zdrojové kódy linuxového jádra. V roce 2004 společnost Intel tvrdila, že modifikovala jádro tak, aby jej jejich kompilátor C mohl sestavit také. V roce 2009 byl zaznamenán další takový úspěch s modifikovanou verzí jádra 2.6.22.