Linux är en operativsystemkärna som används av en grupp Unix-liknande operativsystem. Dessa är kända som Linux-operativsystem.

Linuxkärnan släpps under GNU General Public License version 2 (GPLv2) och utvecklas av programmerare över hela världen.

 

Vad är Linuxkärnan?

Linuxkärnan är den centrala mjukvarukomponenten i ett operativsystem som ansvarar för kommunikation mellan hårdvara och användarprogram. Den hanterar bland annat:

  • Process- och trådhantering: schemaläggning, prioriteringar och synkronisering.
  • Minne: allokering, virtuellt minne och sidhantering.
  • Drivrutiner: stöd för hårdvara som nätverkskort, lagringsenheter och grafikkort.
  • Filsystem: åtkomst, cachning och stöd för många olika filsystemstyper.
  • Nätverk: protokollstackar, brandväggar och nätverksgränssnitt.
  • Systemanrop: gränssnittet som användarprogram använder för att fråga kärnan om tjänster.

Arkitektur och egenskaper

Linux är en monolitisk kärna med stöd för loadable modules, vilket innebär att stora delar av funktionaliteten kan kompileras som modulära komponenter som laddas in vid behov. Kärnan är portabel och körs på många processorarkitekturer, till exempel x86, x86-64, ARM, MIPS och PowerPC.

Kärnan innehåller även mekanismer för säkerhet och isolering, till exempel stöd för säkerhetstillägg som SELinux och AppArmor, namespaces och cgroups som används för containerisering.

Utveckling och licens

Utvecklingen av Linuxkärnan är distribuerad och sker öppet. Kodförändringar skickas ofta som patchar via e-postlistor eller som commits i versionshanteringssystemet Git. Huvudunderhållaren (maintainer) samlar ändringar, och Linus Torvalds har historiskt haft rollen att slå samman dem i den officiella trunk.

Kärnan distribueras under GPLv2, vilket innebär att källkoden är öppen och att vidare distribution av modifierade binärer normalt kräver att källkoden görs tillgänglig. Licensvalet har betydelse för hur proprietära drivrutiner och modulkomponenter får distribueras.

Utgåvor och stöd

  • En ny huvudrelease av Linuxkärnan publiceras regelbundet (typiskt var 8–10:e vecka) med buggfixar, nya funktioner och drivrutinsstöd.
  • Vissa kärnversioner markeras som LTS (Long-Term Support) och får support och säkerhetsuppdateringar under längre tid, vilket är viktigt för servrar och inbyggda system.

Användningsområden

  • Servrar och datacenter — Linux dominerar inom webbtjänster, databaser och molnplattformar.
  • Skrivbord — flera distributioner (t.ex. Ubuntu, Fedora) använder Linuxkärnan i kombination med användarmiljöer som GNOME eller KDE.
  • Inbyggda system och IoT — tack vare skalbarheten används Linux i routrar, smarta enheter och industriell automation.
  • Mobilenheter — Android använder en modifierad Linuxkärna som grund.

Att komma igång

För den som vill undersöka eller utveckla för Linuxkärnan kan man:

  • Hämta källkoden från officiella källor (t.ex. kernel.org) och läsa dokumentationen i källträdets Documentation-mapp.
  • Konfigurera kärnan med verktyg som make menuconfig eller make nconfig och kompilera den för sin hårdvara.
  • Studera bidragsprocessen om man vill skicka patchar: följ kernelens kodstil, använd sign-off och skicka patchar till rätt underhållare och e-postlistor.

Skillnaden mellan "Linux" och "GNU/Linux"

Begreppet "Linux" avser tekniskt sett endast kärnan, medan många av de operativsystem som använder kärnan även inkluderar GNU-komponenter och andra verktyg. Därför används ibland termen GNU/Linux för att beskriva hela systemet.

Sammanfattning

Linuxkärnan är en central, fri och öppen mjukvarukomponent som möjliggör många olika typer av operativsystem för servrar, stationära datorer, mobiler och inbyggda system. Dess öppna utvecklingsmodell och breda hårdvarustöd gör den till en av de mest använda och snabbt utvecklande kärnorna i världen.