Når du lagrer en fil, trenger programmet tilgang til lagring. Når flere programmer kjører samtidig, trenger de både prosessortid og minne. Operativsystemkjernen (kernel) er delen av operativsystemet som håndterer slike ressurser og gir programmer kontrollert tilgang til dem.
Her skal du kunne forklare hvilken jobb kjernen gjør, og skille den fra operativsystemet som helhet og fra brukergrensesnittet.
Plass i serien: Dette er Del 3 av Operativsystem. Del 1 forklarer helheten; Del 2 viser brukergrensesnittene. Begynn der hvis disse begrepene er nye. Siden brukes også som grunnlag for virtualisering og containere i Vg2.
Kjernen er en del av operativsystemet
Et operativsystem inneholder mer enn kjernen. Det har også biblioteker, systemtjenester og verktøy som gjør systemet mulig å bruke og administrere. Et kommandoskall eller et grafisk skrivebord gir deg et brukergrensesnitt til systemet.
Du kan derfor fjerne skrivebordet fra en Linux-server og fortsatt ha et fungerende operativsystem. Kjernen og andre nødvendige systemdeler er fortsatt der.
Hva gjør kjernen?
| Ressurs eller oppgave | Hva kjernen håndterer |
|---|---|
| Prosessor (CPU) | Fordeler prosessortid mellom prosesser, altså programmer som kjører. |
| Arbeidsminne (RAM) | Håndterer minneområder og beskytter dem mot uautorisert tilgang fra andre prosesser. |
| Lagring og enheter | Tilbyr tilgang gjennom blant annet filsystemer og drivere. En driver er programvare som håndterer en bestemt type enhet. |
| Rettigheter | Kontrollerer mange av forespørslene fra programmer mot brukerens og prosessens rettigheter. |
Når et program trenger en tjeneste fra kjernen, bruker det et systemkall, ofte via et bibliotek. Programmet kjører vanligvis med færre rettigheter enn kjernen. Dette er en viktig grense i systemet.
Et eksempel: Du lagrer en tekstfil
- Du velger Lagre i tekstprogrammet.
- Programmet ber operativsystemet om å skrive data til en fil.
- Kjernen håndterer forespørselen, blant annet rettigheter og tilgang gjennom filsystem og driver.
- Programmet får beskjed om resultatet og kan vise at lagringen lyktes eller feilet.
Den samme typen systemtjeneste brukes enten forespørselen begynner i et grafisk program eller i en kommando. GUI og CLI er brukergrensesnitt; kjernen håndterer systemressursene. Eksemplet er forenklet: mellomlagring og alle detaljene ved skriving til en fysisk disk er utelatt.
Linux, Debian og Ubuntu: Hva er hva?
Linux er navnet på en operativsystemkjerne. I dagligtale brukes navnet også om hele Linux-baserte operativsystemer. En Linux-distribusjon, for eksempel Debian eller Ubuntu, setter sammen Linux-kjernen med biblioteker, verktøy, installasjonsprogram og pakkesystem.
| Begrep | Forhold til de andre delene |
|---|---|
| Linux-kjernen | En del av et Linux-basert operativsystem. |
| Debian og Ubuntu | Distribusjoner som bygger på Linux-kjernen. De kan bruke forskjellige kjerneversjoner og konfigurasjoner. |
| GNOME og KDE Plasma | Eksempler på grafiske skrivebordsmiljøer. De kan installeres eller fjernes uten at du bytter selve operativsystemkjernen. |
| Bash | Et kommandoskall som lar deg bruke kommandoer. Det er et program, ikke kjernen. |
Undersøk en Linux-maskin, hvis du har en
I en Linux-terminal kan du lese navnet og versjonen til kjernen som kjører:
uname -s
uname -r
Den første kommandoen skal vise Linux. Den andre viser kjerneversjonen på akkurat denne maskinen; den trenger ikke være lik en medelev sin. Kommandoene endrer ingenting og trenger ikke sudo.
For å se hvilken Linux-distribusjon du bruker, leser du en annen opplysning:
cat /etc/os-release
Se etter PRETTY_NAME, for eksempel et navn som inneholder Debian eller Ubuntu. Kjerneversjon og distribusjonsversjon er ulike opplysninger. Bruk dette avsnittet på Linux; du trenger ikke installere Linux for å gjøre egenprøven nedenfor.
Hvorfor dukker kjernen opp i VM-er og containere?
En VM kjører et gjesteoperativsystem med egen kjerne. Linux-containere deler kjernen til Linux-systemet de kjører på. Når Docker kjører inne i en Linux-VM, deler containerne VM-ens kjerne.
Se kartet over operativsystem, VM og containere for relasjonene, og containeriseringsressursen for den illustrerte sammenligningen.
Kontroller forklaringen din
- Du fjerner GNOME fra en Debian-server. Har du også fjernet kjernen? Begrunn svaret.
- To programmer lagrer filer samtidig. Hvilken del håndterer tilgangen til systemressursene?
uname -rogPRETTY_NAMEviser forskjellige versjonsnumre. Hvorfor kan begge være riktige?
Kontroller svaret: GNOME er skrivebordsmiljøet, og fjerning av det fjerner ikke i seg selv kjernen. Kjernen håndterer programmenes tilgang til systemressurser, sammen med andre systemdeler. uname -r viser kjerneversjonen, mens PRETTY_NAME beskriver distribusjonen.
Du er klar til å gå videre når du kan forklare forskjellen mellom operativsystem, kjerne og brukergrensesnitt med et eget eksempel. Hvis du blander delene, bruk figuren og følg filskrivingen én gang til. Vil du undersøke mer, forklar hvordan to ulike Linux-distribusjoner kan bygge på samme type kjerne.
Kilder: Red Hat: Linux-kjernen, Linux-baserte operativsystemer og uname. Illustrasjonen er tegnet for denne ressursen.