Skip to main content

Vad är Linux-kärnan?

#truckereala207 - VREAU SA VAD CAT DORM (Juni 2026)

#truckereala207 - VREAU SA VAD CAT DORM (Juni 2026)
Anonim

Till casual användare och mindre än hardcore fans är Linux ett operativsystem. Till purister är dock titeln "Linux" reserverad för den kärna som styr operativsystemet. Om du är nyfiken på vad Linuxkärnan är, låt oss svara på den frågan med ett öga på den nya användaren.

lägen

Innan vi förklarar vad en kärna är, är det viktigt att förstå termerna "användarläge" och "kärnläge". Användarläge är när körningskoden inte har någon möjlighet att direkt komma åt maskinvara eller referensminne. För att få tillgång till hårdvara och minne måste kod som körs i användarläge delegera instruktioner till systemprogrammeringsgränssnitt (API). Kärneläge är när körningskoden har obegränsad åtkomst till all maskinvara och är reserverad för de mest betrodda funktionerna i ett operativsystem.

Vad är en kärna?

Varje operativsystem har en kärna. Windows, MacOS, IOS, Android, Chrome OS och Linux har alla ett system med låg nivå som ansvarar för gränssnittet för alla applikationer med datorns fysiska hårdvara. Utan kärnan skulle inga av dina applikationer kunna utnyttja den fysiska datorn; Appar som Firefox, Chrome, LibreOffice, MS Office eller Outlook skulle inte fungera. Kärnan är också ansvarig för att processer kan utbyta information med hjälp av det som kallas Inter-Process Communication (IPC).

Det finns (generellt sett) tre typer av kärnor:

  • Monolitiska kärnor: Dessa kärnor omfattar CPU, minne, IPC, drivrutiner, filsystemhantering och systemserversamtal. Det är också ansvarigt för att avge gratis systemminne till applikationer. Dessa typer av kärnor är oftast bättre för åtkomst till maskinvara och multitasking.
  • Mikrokärna: Mikrokärnor tar en minimalistisk inställning och hanterar endast CPU, minne och IPC.
  • Hybridkärnor: Hybridkärnor har möjlighet att bestämma vad de vill köra i antingen Användare eller Kärneläge. Även om detta ger det bästa av båda världarna, kräver det mycket mer från hårdvarufabrikanterna att skapa drivrutiner som tjänar till gränssnitt mellan löpnummer och hårdvara.

Linux använder en öppen källkod, monolitisk kärna, medan macOS och Windows båda använder hybridkärnor. Linuxkärnan var tänkt 1991 av Linus Torvalds. Till denna dag fortsätter Mr. Torvalds att vara ledande utvecklare på Linux-kärnan, medan utvecklare från hela världen bidrar till Linux-kärnan. Det är faktiskt uppskattat att nästan 10 000 utvecklare, från mer än 1000 företag, har bidragit till Linuxkärnan (sedan spårningen började 2005).

Var är kärnan?

Om du öppnar ett terminalfönster och utfärdar kommandot ls / boot, du får se en fil som heter vmlinuz-VERSION (VERSION är frisläppningsnamnet eller numret). Vmlinuz-filen är den faktiska startbara Linux-kärnan, och "z" är att indikera att kärnan är komprimerad; så istället för vmlinux har vi vmlinuz.

Inom den här / boot-katalogen finns andra viktiga kärnfiler, såsom initrd.img-VERSION, system.map-VERSION och config-VERSION (där VERSION är antingen ett namn eller ett släppnummer). Dessa andra filer tjänar följande ändamål:

  • initrd: används som en liten RAM-skiva som extraherar och exekverar den faktiska kärnfilen.
  • system.map: används för minneshantering, före kärnans laddning.
  • config: instruerar kärnan på vilka alternativ och moduler som ska laddas.

moduler

Utan moduler skulle kärnan inte vara mycket användbar. Moduler aktiverar effektivt drivrutinerna som behövs för att kommunicera med hårdvara utan att förbruka allt systemminne. Moduler lägger också till funktionalitet i kärnan, som kommunicerar med kringutrustning, hanterar filsystem, säkerhet etc. Det är möjligt att lista, lägga till och ta bort moduler till kärnan med följande kommandon:

  • lsmod kommer att lista alla nuvarande laddade kärnmoduler.
  • insmod laddar en kärnmodul i körkärnan.
  • rmmod kommer att ladda en modul från körkärnan.

Så du ser, med hjälp av några enkla kommandon, att Linuxkärnan kan vara ganska flexibel.

Den nuvarande kärnan

Med den här skrivningen är den stabila Linux-kärnan 4.18.5, men inte alla Linux-distributioner kommer att innehålla den senaste kärnan. Faktum är att den uppdaterade Elementary OS-desktopdistributionen kör kärna 4.15.0-30. Vad betyder det här numret? När det gäller den senaste kärnan på Elementary OS betyder det:

  • 4 är den stora versionen
  • 15 är den mindre versionen
  • 0-30 är revisionen

Det är också möjligt att ladda ner olika versioner av Linux-kärnan från kernel.org och kompilera det själv. Sammanställningen av Linux-kärnan är en uppgift som bäst överlämnas till dem som verkligen vet vad de gör. En felaktigt sammanställd kärna kan göra ett system oförstartbart. Så, om du inte är redo att dyka in i den utmanande uppgiften att sammanställa kod på den här nivån, använd standardkärnan som skickar och uppdaterar på din fördelning.