Hopp til innhold

Maskinvare

de fysiske delene av en datamaskin

Hva det er

Maskinvare er den delen av et datasystem som består av materie og ikke av kode: prosessoren som utfører instruksjonene, minnet som holder arbeidet underveis, diskene eller flashlagringen som tar vare på data mens strømmen er av, nettverkskortet, strømforsyningen og kortet som kobler dem sammen. Skjermer, tastaturer, kabler, svitsjer og rutere hører også med. En fysisk server som kjører operativsystemet sitt direkte, med et virtualiseringslag verken over eller under, kalles ofte bare metal.

NIST-ordlisten definerer maskinvare som de materielle, fysiske komponentene i et system og sender leseren videre til programvare og fastvare, fordi de tre er definert i forhold til hverandre. Programvare er i den samme ordlisten programmer og data som kan skrives eller endres mens de kjører. Fastvare, ofte bare kalt firmware, er programmer og data som er lagret i maskinvaren, typisk i leseminne (ROM) eller programmerbart leseminne (PROM), slik at de ikke kan skrives eller endres dynamisk mens de kjører. Det er fastvaren som starter en maskin før noe operativsystem er lastet, og mindre biter av den kjører inne i disker, nettverkskort og batterikontrollere. NISTs retningslinjer for plattformfastvare behandler maskinvaren og fastvaren som trengs for å starte og drive et system, som én ting, og kaller den plattformen.

Hver del har en kapasitet som programvaren kan bruke godt eller dårlig, men aldri heve. Prosessoren gjør en fast mengde arbeid per sekund og deles av alt som kjører. Minnet er raskt, begrenset og tømmes når strømmen går. Lagringen er tregere og større, beholder innholdet gjennom et strømbrudd og slites av bruk. Nettverkskortet flytter et fast antall biter per sekund. Et system er like raskt som den av disse delene som først går tom, for akkurat den jobben systemet får.

De fleste servere i dag kjører på maskinvare ingen i selskapet har sett. En virtuell maskin som leies hos en skyleverandør, er en andel av en fysisk maskin i leverandørens datasenter: en hypervisor deler prosessorene, minnet og diskene i den maskinen mellom de virtuelle maskinene som er plassert på den, og holder hver av dem innenfor sin andel. Kunden velger størrelser fra en prisliste, og leverandøren tar seg av kablingen, reservedelene og utskiftingen.

Hvorfor det er viktig

Maskinvaren setter taket. Programvaren avgjør hvor mye av en maskins kapasitet som blir til nyttig arbeid, men ingen innstilling gir en maskin mer minne enn den har. Å vite hvilken del som er full, prosessoren, minnet, disken eller nettverket, forteller deg hva som bør endres, og ofte at svaret ligger i programvaren.

Maskinvare er også det tregeste og dyreste å endre. Et program kan installeres på nytt på noen minutter. En del må velges, bestilles, monteres og betales, og en større leid maskin koster mer hver måned så lenge den kjører. Det gjør maskinvare til siste utvei når ytelsen svikter, selv om det ofte er det første noen foreslår.

Maskinvare er dessuten der ting slites fysisk. Vifter, batterier, hengsler, kontakter og lagring har alle en levetid. Alt som ligger over dem, kan bygges opp igjen fra en sikkerhetskopi og en skriftlig beskrivelse; selve delene må skiftes ut.

Og maskinvaren holder på data etter at programvaren har sluppet dem. Å slette en fil fjerner som regel filsystemets oversikt over hvor innholdet ligger, og ikke selve innholdet. En disk som forlater bygget, enten den blir solgt, sendt tilbake under garanti eller kastet, kan ta med seg mye av det som noen gang er skrevet til den.

Slik ser det ut i praksis

Maskinvarearbeidet i porteføljen begynner ved en arbeidsbenk. Omtalen av diagnostisering og reparasjon av maskinvare i bærbare datamaskiner dekker skjermer, hengsler, tastaturer, styreplater, hovedkort og strøm, sammen med programvare på Linux, Windows og Mac. Den legger selve ferdigheten i diagnosen: en bærbar som ikke vil slå seg på, kan skyldes laderen, hovedkortet eller batteriet, og reparasjonen er aldri bedre enn antakelsen om hva som faktisk er ødelagt. Derfor gikk omhuen med til å finne den virkelige feilen før noe ble rørt.

Dette nettstedet kjører på maskinvare i den motsatte ytterkanten, en maskin det aldri har rørt. Kolofonen beskriver den ene lille maskinen som gjør alt sammen: en DigitalOcean-server med én kjerne, 512 MB minne og en disk på 10 GB, som står i Toronto i Canada. Den samme siden forteller at Ansible beskriver serveren som kode, slik at den kan bygges opp på nytt i stedet for å huskes, og at restic tar sikkerhetskopiene bort fra maskinen. Når maskinvaren tilhører noen andre, er de to linjene hele verktøykassen for reparasjon.

Notatet om å optimalisere en database før den shardes handler for en stor del om når det er klokt å la maskinvaren være. Å spre dataene over flere servere sprer de trege setningene over mer maskinvare uten å gjøre én eneste av dem billigere. Rader som konkurrerer om samme lås, venter på hverandre og ikke på maskinvare, og en større maskin gjør ikke ventetiden for én rad kortere. Når mange ganger flere økter er aktive enn det finnes kjerner, løser en tilkoblingspool det før noen maskinvare gjør det. Notatets prøve for når det er på tide å dele opp, er en maskin som er full av godt arbeid, og ikke en som er full av venting.

Hvor det går galt

Maskinvare blir kjøpt inn for et programvareproblem. Et tregt system ser ut som et lite system. Før du betaler for en større maskin, bør du finne ut hvilken del som er full. På Linux gir tre kommandoer et første svar: hvor mange prosessorer systemet kan bruke, hvor mye minne som er i bruk og tilgjengelig, og fem målinger med ett sekunds mellomrom av hvor prosessortiden går.

nproc
free -h
vmstat 1 5

I utdataene fra vmstat er us og sy tiden som går med i programmer og i systemkjernen, id er tomgang, og wa er tid brukt på å vente på lagring. En prosessor som stort sett går på tomgang mens forespørsler venter, betyr at ventingen ligger et annet sted: en lås, en treg spørring, et fjernkall eller for mange tilkoblinger på en gang. Mer maskinvare lar alt dette bli stående der det var.

Den gale delen blir byttet ut. Et symptom peker på et sted, ikke på en årsak. En maskin som ikke vil starte, kan skyldes strømmen, hovedkortet eller batteriet; en treg disk kan være full, i ferd med å svikte eller bare opptatt. Å bytte deler til feilen forsvinner, koster penger og skjuler hvilken del som var skyld i den, og da kommer den tilbake. Test den billigste forklaringen først, endre én ting om gangen, og bekreft rettingen ved å gjenta det som avslørte feilen.

En virtuell prosessor blir tatt for en fysisk kjerne. Å dimensjonere en leid maskin etter antallet virtuelle CPU-er forutsetter at hver av dem er en kjerne. Dokumentasjonen til DigitalOcean, for å ta ett eksempel, definerer en vCPU som én enkelt hypertråd på en prosessorkjerne. På planene med delt CPU kan den hypertråden deles med andre virtuelle maskiner på den samme fysiske verten, og når de har mye å gjøre, kan en maskin få brøkdeler av én, mens minne, disk og båndbredde i nettverket forblir dedikert. Mål under den lasten du venter i toppene, og gå over til dedikerte prosessorer når tidene varierer mer enn arbeidet tåler.

Dataene forlater bygget sammen med disken. Å slette filer eller formatere en disk kan la innholdet være lesbart for hvem som helst med vanlige verktøy for gjenoppretting. NISTs retningslinjer for sanering av lagringsmedier, revidert i september 2025, definerer sanering som en prosess som gjør tilgang til dataene på mediet uoppnåelig for en gitt innsats, og velger teknikken etter hvor sensitiv informasjonen er. Bestem hvordan hver disk skal saneres før den kjøpes, og loggfør saneringen når disken forlater bygget.

Fastvaren blir glemt når systemet oppdateres. Oppdateringer av operativsystemet lar som regel fastvaren i hovedkortet, diskene og nettverkskortet være som den var. NISTs retningslinjer for plattformfastvare advarer om at et vellykket angrep på den fastvaren kan gjøre et system ubrukelig, kanskje for godt, og bygger rådene sine på å beskytte den mot uautoriserte endringer, oppdage de endringene som skjer, og gjenopprette raskt. Installer fastvareoppdateringer fra leverandøren etter en fast plan, slik resten av systemet patches.

Les mer

Ordliste