# Hårdvara

## Vad det är

Hårdvara är den del av ett datorsystem som består av materia snarare än av kod: processorn som utför
instruktionerna, minnet som håller det pågående arbetet, diskarna eller flashminnet som behåller
data medan strömmen är av, nätverkskortet, nätaggregatet och kortet som kopplar ihop alltihop.
Skärmar, tangentbord, kablar, switchar och routrar räknas också dit. En fysisk server som har
operativsystemet direkt ovanpå sig, med inget virtualiseringslager emellan, kallas ofta _bare
metal_.

NIST:s ordlista definierar hårdvara som de materiella, fysiska komponenterna i ett system och
hänvisar läsaren vidare till mjukvara och firmware, eftersom de tre definieras i förhållande till
varandra. Mjukvara är i samma ordlista program och data som kan skrivas eller ändras medan de körs.
Firmware är program och data som lagras i hårdvaran, typiskt i läsminne eller programmerbart
läsminne, så att de inte kan skrivas eller ändras dynamiskt under körningen. Det är firmware som
startar en maskin innan något operativsystem har lästs in, och mindre delar av den körs inuti
diskar, nätverkskort och batterikontroller. NIST:s riktlinjer för plattformens firmware behandlar
den hårdvara och firmware som behövs för att starta och driva ett system som en enda sak, som de
kallar plattformen.

Varje del har en kapacitet som mjukvaran kan använda väl eller illa men inte kan höja. Processorn
utför en bestämd mängd arbete per sekund och delas av allt som körs. Minnet är snabbt, begränsat och
töms när strömmen går. Lagringen är långsammare och större, behåller sitt innehåll genom ett
strömavbrott och slits när den används. Nätverkskortet flyttar ett bestämt antal bitar per sekund.
Ett system är lika snabbt som den av dessa delar som först tar slut för det arbete det får.

De flesta servrar körs i dag på hårdvara som ingen på företaget har sett. En virtuell maskin som
hyrs av en molnleverantör är en andel av en fysisk maskin i leverantörens datacenter: en hypervisor
delar upp den maskinens processorer, minne och diskar mellan de virtuella maskiner som placeras på
den och håller var och en inom sin andel. Kunden väljer storlekar från en prislista, och
leverantören sköter kablarna, reservdelarna och utbytena.

## Varför det spelar roll

Hårdvaran sätter taket. Mjukvaran avgör hur mycket av en maskins kapacitet som blir till nyttigt
arbete, men hur man än ställer in den får maskinen inte mer minne än den har. Att veta vilken del
som är full, processorn, minnet, disken eller nätverket, talar om vad som ska ändras, och ofta att
svaret ligger i mjukvaran.

Hårdvara är det långsammaste och dyraste att ändra. Ett program kan installeras om på några minuter.
En komponent måste väljas, beställas, monteras och betalas, och en större hyrd maskin kostar mer
varje månad så länge den körs. Det gör hårdvara till den sista utvägen för prestanda, även om den
ofta är det första som föreslås.

Det är i hårdvaran som saker fysiskt slits ut. Fläktar, batterier, gångjärn, kontakter och lagring
har alla en livslängd. Allt ovanför dem kan byggas upp på nytt från en säkerhetskopia och en
skriftlig beskrivning; själva komponenterna måste bytas ut.

Och hårdvaran håller kvar data efter att mjukvaran har släppt dem. Att radera en fil tar oftast bort
filsystemets uppgift om var innehållet finns, inte själva innehållet. En disk som lämnar huset,
såld, returnerad på garantin eller slängd, kan bära med sig mycket av det som någonsin har skrivits
till den.

## Så ser det ut i praktiken

Portfolions hårdvaruarbete börjar vid en reparationsbänk. Redogörelsen för hur företaget fick
[diagnostisera och reparera hårdvara i bärbara datorer](/sv/portfolio/diagnosed-and-repaired-laptop-hardware-screens-hinges-keyboards-93/)
omfattar skärmar, gångjärn, tangentbord, styrplattor, moderkort och strömförsörjning, tillsammans
med mjukvara i Linux, Windows och Mac. Den lägger skickligheten i diagnosen: en bärbar dator som
inte startar kan bero på laddaren, kortet eller batteriet, och reparationen blir aldrig bättre än
gissningen om vad som faktiskt är trasigt. Därför lades omsorgen på att hitta det verkliga felet
innan något rördes.

Den här webbplatsen körs på hårdvara i den motsatta änden, en maskin den aldrig har rört. Sidan med
medverkande beskriver [den enda lilla maskinen som gör allt](/sv/credits/): en server hos
DigitalOcean med en kärna, 512 MB minne och en disk på 10 GB, som står i Toronto i Kanada. Samma
sida säger att Ansible beskriver den servern som kod, så att den kan byggas upp på nytt i stället
för att kommas ihåg, och att restic flyttar säkerhetskopiorna bort från maskinen. När hårdvaran
tillhör någon annan är de två raderna verktygslådan för reparationer.

Och anteckningen om att
[optimera en databas innan den shardas](/sv/notes/optimise-before-you-shard/) handlar till stor del
om när man inte ska sträcka sig efter hårdvara. Att sprida data över fler servrar sprider de
långsamma satserna över mer hårdvara utan att göra någon av dem billigare. Rader som köar för ett
lås väntar på varandra, inte på hårdvaran, och en större maskin förkortar inte väntan på en enda
rad. När många gånger fler sessioner är aktiva än det finns kärnor löser en anslutningspool det
innan någon hårdvara gör det. Anteckningens test för att dela upp en databas är en maskin som är
full av bra arbete, inte en som är full av väntan.

## Var det går fel

**Hårdvara köps in för ett mjukvaruproblem.** Ett långsamt system ser ut som ett litet system. Ta
reda på vilken del som är full innan en större maskin betalas. På Linux ger tre kommandon ett första
svar: hur många processorer systemet kan använda, hur mycket minne som används och finns
tillgängligt, och fem stickprov med en sekunds mellanrum på vart processortiden går.

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

I utdatan från `vmstat` är `us` och `sy` den tid som går åt i program och i systemkärnan, `id` är
tid i vila och `wa` är tid som går åt till att vänta på lagringen. En processor som mest står i vila
medan förfrågningar väntar betyder att väntan finns någon annanstans: ett lås, en långsam
databasfråga, ett fjärranrop eller för många anslutningar samtidigt. Mer hårdvara lämnar allt det
där precis där det var.

**Fel komponent byts ut.** Ett symptom pekar ut en plats, inte en orsak. En maskin som inte startar
kan bero på strömmen, kortet eller batteriet; en långsam disk kan vara en full disk, en disk som
håller på att gå sönder eller en upptagen disk. Att byta komponenter tills felet försvinner kostar
pengar och döljer vilken komponent som var felet, så det kommer tillbaka. Pröva den billigaste
förklaringen först, ändra en sak i taget och bekräfta rättningen genom att upprepa det som visade
felet.

**En virtuell processor tas för en fysisk kärna.** Att dimensionera en hyrd maskin efter antalet
virtuella processorer förutsätter att var och en är en kärna. DigitalOceans dokumentation, för att
ta ett exempel, definierar en vCPU som en enda hypertråd på en processorkärna. På planerna med delad
CPU kan den hypertråden delas med andra virtuella maskiner på samma fysiska värddator, och när de är
upptagna kan en maskin få delar av en, medan minne, disk och nätverksbandbredd förblir dedikerade.
Mät under den last du väntar dig vid toppen, och gå över till dedikerade processorer när tiderna
varierar mer än arbetet tål.

**Data följer med disken ut.** Att radera filer eller formatera en disk kan lämna innehållet läsbart
för vem som helst med vanliga verktyg för återställning. NIST:s riktlinjer för sanering av
lagringsmedier, reviderade i september 2025, definierar sanering som en process som gör det
ogenomförbart att komma åt data på mediet för en given nivå av ansträngning, och väljer teknik efter
hur känslig informationen är. Bestäm hur varje disk ska saneras innan den köps, och för en
förteckning när den lämnar huset.

**Firmware lämnas utanför uppdateringarna.** Uppdateringar av operativsystemet lämnar oftast
firmware i moderkortet, diskarna och nätverkskortet som den var. NIST:s riktlinjer för plattformens
firmware varnar för att en lyckad attack mot den firmware kan göra ett system obrukbart, kanske
permanent, och bygger sina råd på att skydda den mot obehöriga ändringar, upptäcka de ändringar som
sker och återhämta sig snabbt. Installera leverantörens uppdateringar av firmware enligt ett schema,
på samma sätt som resten av systemet patchas.

## Läs mer

- [hardware — NIST CSRC Glossary](https://csrc.nist.gov/glossary/term/hardware) — den korta
  definitionen, med dess hänvisningar till mjukvara och firmware.
- [DigitalOcean: Choosing the Right CPU Droplet Plan](https://docs.digitalocean.com/products/droplets/concepts/choosing-a-plan/)
  — vad en virtuell processor är hos den leverantör som den här webbplatsen körs hos, och när delade
  processorer räcker.
- [NIST SP 800-88 Rev. 2, Guidelines for Media Sanitization](https://csrc.nist.gov/pubs/sp/800/88/r2/final)
  — hur data på en disk sätts utom räckhåll innan disken lämnar huset.
- [NIST SP 800-193, Platform Firmware Resiliency Guidelines](https://csrc.nist.gov/pubs/sp/800/193/final)
  — att skydda, upptäcka och återställa den firmware som en maskin startar från.

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