Hva er Linux-kjernen?
Til uformelle brukere og mindre hardcore fans, Linux er et operativsystem. Til purister, derimot, tittelen Linux er reservert for kjernen som driver operativsystemet.
Modi
Før vi forklarer hva en kjerne er, er det viktig å forstå vilkårene brukermodus og kjernemodus. Brukermodus er når kjøring av kode ikke har noen mulighet til direkte tilgang til maskinvare eller referanseminne. For å få tilgang til maskinvare og minne, må kode som kjører i brukermodus delegere instruksjoner til systemets applikasjonsprogrammeringsgrensesnitt. Kjernemodus er når kjøring av kode har ubegrenset tilgang til all maskinvare – den er reservert for de mest pålitelige funksjonene til et operativsystem.

Hva er en kjerne?
Hvert operativsystem har en kjerne. Windows, Mac os, iOS, Android, Chrome OS, og Linux har hver et lavnivåsystem som er ansvarlig for å koble alle applikasjoner med den fysiske maskinvaren til datamaskinen. Uten kjernen ville ingen av programmene dine kunne bruke den fysiske datamaskinen; apper som Firefox, Chrome, LibreOffice eller Outlook ville ikke fungere. Kjernen er også ansvarlig for å tillate prosesser å utveksle informasjon ved å bruke det som kalles Inter-Process Communication.
Det er (generelt sett) tre typer kjerner:
- Monolittiske kjerner: Disse kjernene omfatter prosessor, minne, IPC, enhetsdrivere, filsystemadministrasjon og systemserverkall. Det er også ansvarlig for å overlevere ledig systemminne til applikasjoner. Disse typene kjerner er vanligvis bedre til å få tilgang til maskinvare og multitasking.
- Mikrokjerner: Mikrokjerner har en minimalistisk tilnærming og administrerer kun CPU, minne og IPC.
- Hybridkjerner: Hybridkjerner har muligheten til å bestemme hva de vil kjøre i enten bruker- eller kjernemodus. Selv om dette gir det beste fra begge verdener, krever det mye mer fra maskinvareprodusentene for å lage drivere som fungerer som grensesnitt mellom kjørende kode og maskinvare.
Linux bruker en åpen kildekode, Monolithic Kernel, mens macOS og Windows begge bruker hybridkjerner. Linux-kjernen ble unnfanget i 1991 av Linus Torvalds. Den dag i dag fortsetter Torvalds å være ledende utvikler på Linux-kjernen, mens utviklere fra hele verden bidrar til Linux-kjernen. Faktisk er det anslått at nesten 10 000 utviklere, fra mer enn 1000 selskaper, har bidratt til Linux-kjernen siden sporingen startet i 2005.
Hvor er kjernen?
Hvis du åpner et terminalvindu og utsteder kommandoen ls /boot, vil du se en fil som heter vmlinuz-VERSJON(Hvor VERSJON er utgivelsesnavnet eller nummeret). Vmlinuz-filen er den faktiske oppstartbare Linux-kjernen, og z indikerer at kjernen er komprimert - så i stedet for vmlinux vi har vmlinuz.

Innenfor den /boot-katalogen er andre viktige kjernefiler, for eksempel initrd.img-VERSION, system.map-VERSION og config-VERSION (der VERSION enten er et navn eller utgivelsesnummer). Disse andre filene tjener følgende formål:
- initrd: Brukes som en liten RAM-disk som trekker ut og kjører selve kjernefilen.
- system.kart: Brukes til minnebehandling før kjernen lastes inn.
- konfig: Instruerer kjernen om hvilke alternativer og moduler som skal lastes.
Moduler
Uten moduler ville ikke kjernen vært mye nyttig. Moduler slår effektivt på driverne som er nødvendige for å kommunisere med maskinvare uten å forbruke alt systemminnet. Moduler legger også til funksjonalitet til kjernen, for eksempel kommunikasjon med periferiutstyr, administrering av filsystemer, sikkerhet, etc. List, legg til og fjern moduler til kjernen med følgende kommandoer:
- lsmod viser alle de innlastede kjernemodulene.
- insmod laster en kjernemodul inn i den kjørende kjernen.
- rmmod laster ut en modul fra den kjørende kjernen.
Ved hjelp av noen enkle kommandoer kan Linux-kjernen være ganske fleksibel.
Den nåværende kjernen

Linux-kjernen oppdateres ofte, men ikke alle Linux-distribusjoner vil inkludere den nyeste kjernen.
Du kan fritt laste ned forskjellige versjoner av Linux-kjernen fra kernel.org og kompiler det selv. Kompileringen av Linux-kjernen er en oppgave som best overlates til de som virkelig vet hva de gjør. En feil kompilert kjerne kan gjøre et system uoppstartbart. Så, med mindre du er klar til å dykke inn i den utfordrende oppgaven med å kompilere kode på dette nivået, bruk standardkjernen som sendes og oppdaterer den valgte distribusjonen.
FAQ
-
Hvilken hypervisorfunksjonalitet er innebygd i Linux-kjernen?
Kjernebasert virtuell maskin (KVM) er en innebygd del av Linux som gjør Linux til en hypervisorprogramvare som lager og kjører virtuelle maskiner. KVM er en åpen kildekode-virtualiseringsteknologi som lar hoved Linux-verten kjøre virtuelle maskiner, som er virtuelle miljøer også kjent som gjester.
-
Hvilket språk er Linux-kjernen skrevet på?
Linux-kjernen er skrevet i programmeringsspråket C. C brukes til mange generelle programmeringsbehov. C deler opp programmet i ulike moduler, og hver modul kan skrives separat eller sammen.
-
Hvordan sjekker jeg Linux-kjerneversjonen?
For å finne ut hvilken Linux-kjerneversjon du kjører, skriv inn hostnameectl inn i kommandolinjen. Den nest siste linjen vil lese Kjerne: Linux og en tallstreng. Det første tallet er hovedkjerneversjonen, det andre tallet er hovedversjonen, og det tredje tallet er det mindre revisjonsnivået.