# Hardware

## Hvad det er

Hardware er den del af et computersystem, der består af stof frem for kode:
processoren, der udfører instruktioner, hukommelsen, der rummer det igangværende
arbejde, diskene eller flashlageret, der gemmer data, mens strømmen er slået
fra, netværkskortet, strømforsyningen og bundkortet, der forbinder dem. Skærme,
tastaturer, kabler, switche og routere tæller også med. En fysisk server uden et
virtualiseringslag mellem sig og sit styresystem kaldes ofte _bare metal_.

NIST's ordliste definerer hardware som de materielle fysiske komponenter i et
system og sender læseren videre til software og firmware, fordi de tre defineres
op mod hinanden. Software er i samme ordliste programmer og data, der kan
skrives eller ændres, mens de kører. Firmware er programmer og data, der er
lagret i hardware, typisk i skrivebeskyttet eller programmerbar skrivebeskyttet
hukommelse, så de ikke kan skrives eller ændres dynamisk under kørslen. Firmware
er det, der starter en maskine, før noget styresystem er indlæst, og mindre
stykker af den kører inde i diske, netværkskort og batteristyringer. NIST's
retningslinjer for platformsfirmware behandler den hardware og firmware, der
skal til for at starte og drive et system, som én ting, som de kalder
platformen.

Hver del har en kapacitet, som software kan udnytte godt eller dårligt, men
aldrig hæve. Processoren udfører en fast mængde arbejde pr. sekund og deles af
alt, der kører. Hukommelsen er hurtig, begrænset og tømmes, når strømmen går.
Lageret er langsommere og større, beholder sit indhold gennem et strømsvigt og
slides af brug. Netværkskortet flytter et fast antal bit pr. sekund. Et system
er så hurtigt som den af dem, der først løber tør for det arbejde, det får.

De fleste servere kører i dag på hardware, som ingen i virksomheden har set. En
virtuel maskine, der er lejet hos en cloududbyder, er en andel af en fysisk
maskine i udbyderens datacenter: en hypervisor deler den maskines processorer,
hukommelse og diske mellem de virtuelle maskiner, der er placeret på den, og
holder hver af dem inden for sin andel. Kunden vælger størrelser fra en
prisliste, og udbyderen står for kablerne, reservedelene og udskiftningen.

## Hvorfor det betyder noget

Hardware sætter loftet. Software afgør, hvor meget af en maskines kapacitet der
bliver til nyttigt arbejde, men ingen indstilling giver en maskine mere
hukommelse, end den har. At vide, hvilken del der er fuld, processoren,
hukommelsen, disken eller netværket, fortæller, hvad der skal ændres, og ofte at
svaret er software.

Hardware er det langsomste og dyreste at ændre. Et program kan geninstalleres på
få minutter. En del skal vælges, bestilles, monteres og betales, og en større
lejet maskine koster mere hver måned, så længe den kører. Det gør hardware til
den sidste udvej for ydelse, selv om den ofte er det første, der bliver
foreslået.

Hardware er der, hvor ting fysisk slides op. Blæsere, batterier, hængsler, stik
og lager har alle en levetid. Alt oven på dem kan bygges igen fra en backup og
en skreven beskrivelse; delene selv skal udskiftes.

Og hardware holder på data, efter at softwaren har sluppet dem. At slette en fil
fjerner som regel filsystemets optegnelse over, hvor indholdet ligger, ikke
selve indholdet. En disk, der forlader bygningen, solgt, sendt retur under
garanti eller smidt ud, kan bære meget af det, der nogensinde er skrevet på den.

## Sådan ser det ud i praksis

Porteføljens arbejde med hardware begynder ved et værkstedsbord. Beretningen om
at
[diagnosticere og reparere hardware i bærbare computere](/da/portfolio/diagnosed-and-repaired-laptop-hardware-screens-hinges-keyboards-93/)
dækker skærme, hængsler, tastaturer, trackpads, bundkort og strøm, sammen med
softwaren på Linux, Windows og Mac. Den lægger kunsten i diagnosen: en bærbar,
der ikke vil tænde, kan skyldes opladeren, kortet eller batteriet, og
reparationen er aldrig bedre end gættet på, hvad der faktisk er i stykker.
Derfor gik omhuen ud på at finde den reelle fejl, før noget blev rørt.

Dette site kører på hardware i den modsatte yderlighed, en maskine, det aldrig
har rørt. Kreditsiden beskriver
[den ene lille maskine, der klarer det hele](/da/credits/): en
DigitalOcean-server med én kerne, 512 MB hukommelse og en disk på 10 GB,
placeret i Toronto i Canada. Samme side siger, at Ansible beskriver serveren som
kode, så den kan bygges igen i stedet for at skulle huskes, og at restic tager
backupperne væk fra maskinen. Når hardwaren tilhører en anden, er de to linjer
reparationssættet.

Og noten om at
[optimere en database, før den shardes](/da/notes/optimise-before-you-shard/),
handler for en stor del om, hvornår man ikke skal række ud efter hardware. At
sprede data over flere servere spreder langsomme sætninger over mere hardware
uden at gøre én eneste af dem billigere. Rækker, der skal have den samme lås,
venter på hinanden, ikke på hardware, og en større maskine forkorter ikke
ventetiden. Når mange gange flere sessioner er aktive, end der er kerner, løser
en forbindelsespulje det, før nogen hardware gør. Notens prøve for at dele er en
maskine fuld af godt arbejde, ikke en fuld af venten.

## Hvor det går galt

**Der købes hardware til et softwareproblem.** Et langsomt system ligner et
lille. Før der betales for en større maskine, så find ud af, hvilken del der er
fuld. På Linux giver tre kommandoer et første svar: hvor mange processorer
systemet kan bruge, hvor meget hukommelse der er i brug og til rådighed, og fem
stikprøver på et sekund hver af, hvor processortiden går hen.

```sh
nproc
free -h
vmstat 1 5
```

I outputtet fra `vmstat` er `us` og `sy` tid brugt i programmer og i kernen,
`id` er tomgang, og `wa` er tid brugt på at vente på lageret. En processor, der
for det meste går i tomgang, mens forespørgsler venter, betyder, at ventetiden
ligger et andet sted: en lås, en langsom forespørgsel, et fjernkald eller for
mange forbindelser på én gang. Mere hardware lader alle dem blive, hvor de var.

**Den forkerte del bliver skiftet.** Et symptom peger på et sted, ikke på en
årsag. En maskine, der ikke vil starte, kan skyldes strømmen, kortet eller
batteriet; en langsom disk kan være fuld, ved at gå i stykker eller travl. At
bytte dele, til fejlen forsvinder, koster penge og skjuler, hvilken del der var
skyld i den, så den vender tilbage. Afprøv den billigste forklaring først, ændr
én ting ad gangen, og bekræft rettelsen ved at gentage det, der viste fejlen.

**En virtuel processor forveksles med en fysisk kerne.** At dimensionere en
lejet maskine efter antallet af virtuelle CPU'er forudsætter, at hver af dem er
en kerne. DigitalOceans dokumentation definerer for eksempel en vCPU som en
enkelt hyper-thread på en processorkerne. På udbyderens planer med delt CPU kan
den hyper-thread deles med andre virtuelle maskiner på den samme fysiske vært,
og når de har travlt, kan en maskine få brøkdele af én, mens hukommelse, disk og
netværksbåndbredde forbliver dedikeret. Mål under den belastning, du forventer
på det travleste tidspunkt, og skift til dedikerede processorer, når tiderne
svinger mere, end arbejdet kan tåle.

**Data forlader bygningen med disken.** At slette filer eller formatere en disk
kan efterlade indholdet læsbart for enhver med almindelige
gendannelsesværktøjer. NIST's retningslinjer for sanering af medier, revideret i
september 2025, definerer sanering som en proces, der gør adgang til dataene på
mediet uigennemførlig for en given indsats, og vælger teknikken efter, hvor
følsomme oplysningerne er. Beslut, hvordan hver disk skal saneres, før den
købes, og før en optegnelse, når den forlader huset.

**Firmwaren bliver holdt uden for opdateringerne.** Opdateringer af
styresystemet lader som regel firmwaren i bundkortet, diskene og netværkskortet
være, som den var. NIST's retningslinjer for platformsfirmware advarer om, at et
vellykket angreb på den firmware kan gøre et system ubrugeligt, måske permanent,
og bygger deres råd på at beskytte den mod uautoriserede ændringer, opdage de
ændringer, der sker, og genoprette hurtigt. Installér leverandørens
firmwareopdateringer efter en plan, på samme måde som resten af systemet
opdateres.

## Læs mere

- [hardware — NIST CSRC Glossary](https://csrc.nist.gov/glossary/term/hardware)
  — den korte definition med henvisningerne til software og firmware.
- [DigitalOcean: Choosing the Right CPU Droplet Plan](https://docs.digitalocean.com/products/droplets/concepts/choosing-a-plan/)
  — hvad en virtuel CPU er hos den udbyder, dette site kører hos, og hvornår
  delte processorer er nok.
- [NIST SP 800-88 Rev. 2, Guidelines for Media Sanitization](https://csrc.nist.gov/pubs/sp/800/88/r2/final)
  — hvordan dataene på en disk bringes uden for rækkevidde, før disken forlader
  huset.
- [NIST SP 800-193, Platform Firmware Resiliency Guidelines](https://csrc.nist.gov/pubs/sp/800/193/final)
  — beskyttelse, opdagelse og genopretning af den firmware, en maskine starter
  fra.

<https://engineer.company/da/glossary/hardware/>
