Product SiteDocumentation Site

B.3. Hvordan datamaskinen fungerer inni: de forskjellige involverte lagene

En datamaskin er ofte betraktet som noe heller abstrakt, og det ytre, synlige grensesnittet er mye enklere enn den interne kompleksiteten. Slik kompleksitet kommer delvis fra antallet deler som inngår. Imidlertid kan disse delene ses på som lag, hvor et lag bare vekselvirker (samhandler) med lagene direkte over eller under.
En sluttbruker kan klare seg uten å kunne disse detaljene ... så lenge alt fungerer. Når man møter et problem som «Internett fungerer ikke!», er den første tingen å gjøre å identifisere i hvilket lag problemet stammer fra. Fungerer nettverkskortet (hardvare/maskinvaren)? Er det gjenkjent av datamaskinen? Ser Linux-kjernen kortet? Er nettverksinnstillingene riktig satt opp? Alle disse spørsmålene avgrenser et aktuelt lag, og retter fokus mot på en potensiell problemkilde.

B.3.1. Det nederste laget: maskinvaren

Let us start with a basic reminder that a computer is, first and foremost, a set of hardware elements. There is generally a main board (known as the motherboard), with one (or more) processor(s), some RAM, device controllers, and extension slots for option boards (for other device controllers). Most noteworthy among these controllers are IDE (Parallel ATA), SCSI, and Serial ATA, for connecting to storage devices such as hard disks. Other controllers include USB, which is able to host a great variety of devices (ranging from webcams to thermometers, from keyboards to home automation systems) and IEEE 1394 (Firewire). These controllers often allow connecting several devices so the complete subsystem handled by a controller is therefore usually known as a “bus”. Option boards include graphics cards (into which monitor screens will be plugged), sound cards, network interface cards, and so on. Some main boards are pre-built with these features, and don't need option boards.

B.3.2. Oppstarteren: BIOS eller UEFI

På egen hånd er maskinvare ute av stand til å utføre nyttige oppgaver uten et tilhørende dataprogram som styrer den. Kontroll av og samspill med maskinvaren er hensikten med operativsystemet og programmene. Disse krever i sin tur funksjonell maskinvare for å kjøre.
Denne symbiosen mellom maskinvare og programvare skjer ikke av seg selv. Når datamaskinen først er slått på, kreves det innledende oppsett. Denne rollen fylles av BIOS eller UEFI, et dataprogram innebygd i hovedkortet og som kjører automatisk ved oppstart. Den primære oppgaven er å søke etter programvare som det kan overlate kontrollen til. For BIOS betyr det vanligvis, som du kanskje har lært om i Seksjon 9.1, «Systemoppstart», å se etter den første harddisken med en oppstartssektor (også kjent som master boot record eller MBR), laste oppstartssektoren, og kjøre den. Fra da av er BIOS vanligvis ikke involvert (før neste omstart). I tilfellet med UEFI, innebærer prosessen skanning av disker for å finne en øremerket EFI-partisjon som inneholder ytterligere EFI-programmer for kjøring.
Oppstartssektoren (eller EFI-partisjonen), inneholder i sin tur et annet dataprogram, kalt oppstartslasteren, som har som formål å finne og kjøre et operativsystem. Siden denne oppstartslasteren ikke er innebygd i hovedkortet, men lastet fra disk, kan det være smartere enn BIOS, noe som forklarer hvorfor BIOS ikke laster operativsystemet selv. For eksempel kan oppstartslasteren (ofte GRUB på Linux-systemer) liste tilgjengelige operativsystemer, og be brukeren om å velge en. Vanligvis er et standardvalg gitt når den løper ut på tid. Noen ganger kan brukeren også velge å legge til parametere som skal sendes til kjernen, og så videre. Til slutt blir en kjerne sporet opp, lastet inn i minnet, og kjørt.
BIOS/ EFI er også ansvarlig for å oppdage og sette opp en rekke enheter. Dette omfatter naturligvis IDE/SATA-enheter (vanligvis harddisken(e) og CD/DVD-ROM-stasjoner), men også PCI-enheter. Oppdagede enheter blir ofte listet opp på skjermen under oppstartsprosessen. Hvis denne listen passerer for fort, kan du bruke Pause-nøkkelen til å fryse den lenge nok til å få den lest. Installerte PCI-enheter som ikke listes opp er et dårlig tegn. I verste fall er enheten defekt. I beste fall kan den ikke virke sammen med den gjeldende versjonen av BIOS eller hovedkortet. PCI-spesifikasjoner utvikler seg, og gamle hovedkort er ikke garantert for å håndtere nyere PCI-enheter.

B.3.3. Kjernen

Både BIOS/UEFI og oppstartslasteren kjører bare noen få sekunder hver. Nå kommer vi til en programvaredel som kjører i lengre tid, operativsystemkjernen. Denne kjernen tar rollen som en dirigent i et orkester, og sikrer koordinering mellom maskinvare og programvare. Denne rollen består av flere oppgaver, deriblant: Å styre maskinvare, administrere prosesser, brukere og tillatelser, filsystemet, og så videre. Kjernen gir en felles basis for alle andre programmer på systemet.

B.3.4. Brukerlandet

Selv om alt som skjer utenfor kjernen kan bli slått sammen som «brukerlandet», kan vi likevel dele det opp i lag med programvare. Men samhandlingene deres er mer komplekse enn før, og klassifiseringene er ikke alltid så enkle. Et program bruker ofte biblioteker, som i sin tur berører kjernen, men kommunikasjonen kan også involvere andre programmer, eller til og med mange biblioteker som kaller opp hverandre.