Begreper & formler
Alle nøkkelbegrepene og formlene fra I/O-enheter, disker og RAID, samlet på én side. Bruk denne som oppslag når du leser, øver flashcards eller tar quiz.
Begreper
Sentrale begreper fra kapittelet med korte definisjoner.
OS-komponent som oversetter generiske OS-operasjoner til enhetsspesifikke kommandoer.
Maskinvare- eller enhetssignal som avbryter CPU-en for å varsle om en hendelse, som fullført I/O.
Direct Memory Access; lar enhet flytte data til/fra minne uten at CPU-en kopierer hvert ord selv.
Tiden brukt på å overføre selve dataene når hodet er på riktig sted.
Striping uten redundans; høy kapasitet og ytelse, men ingen feiltoleranse.
Mirroring; data dupliseres for bedre feiltoleranse, men med lavere effektiv kapasitet.
CPU sjekker repeterende statusregisteret til en I/O-enhet for å se om den er ferdig. Enkelt, men sløser CPU-tid på trege enheter.
Enheten avbryter CPU-en når den er ferdig (eller trenger oppmerksomhet). CPU kan gjøre annet arbeid i mellomtiden, men hver interrupt har context-switch-kostnad.
CPU flytter data byte-for-byte mellom enhet og minne via I/O-instruksjoner. Enkelt, men låser CPU-en for hele overføringen.
Enhetsregistre er mappet inn i adresseområdet. CPU bruker vanlige load/store-instruksjoner i stedet for spesielle I/O-instruksjoner. Vanlig på moderne arkitekturer.
Disk-scheduling-algoritme som velger neste forespørsel med kortest seek-distanse fra hodet. Minimerer total seek-tid, men kan sulte forespørsler langt unna.
Den fysiske teknologien i SSD-er. Lagrer data i celler som holder 1 (SLC), 2 (MLC), 3 (TLC) eller 4 (QLC) bits. Flere bits per celle = billigere men mer slitasje.
NAND må slettes (sett alle bits til 1) før det kan skrives. Sletting skjer på blokk-nivå (mange sider), skriving på side-nivå. Skaper write amplification og krever wear leveling.
SSD-firmware sprer skrivinger jevnt over alle blokker så ingen celler slites ut først. Hver celle tåler typisk 3000–100 000 P/E-sykluser.
Strategi der CPU først poller en kort stund (raske enheter) og bytter til interrupts hvis enheten ikke er ferdig. Kombinerer lav latency for raske I/O med lav overhead for trege.
Formler
Hver formel: hva den heter, hvordan den ser ut, og hva symbolene betyr.
Disk-I/O-tid
Klassisk modell for hvorfor tilfeldig disk-I/O ofte er mye dyrere enn sekvensiell.
Brukbar kapasitet i RAID 0
Alle diskene bidrar fullt med kapasitet når ingen redundans brukes.
Brukbar kapasitet i RAID 1
Ved speiling går omtrent halvparten av råkapasiteten til redundans.
Gjennomsnittlig rotasjonslatens
Halv full omdreining i gjennomsnitt. Eks: 7200 RPM → 60/7200/2 = 4.17 ms. 5400 RPM → 5.5 ms. 15000 RPM → 2 ms.
Total disk-IO-tid
Tre komponenter. For tilfeldige små I/O dominerer seek+rotation. For sekvensielle store I/O dominerer transfer.
IOPS for tilfeldig I/O
Brukbar målestokk for «hvor mange små tilfeldige aksesser per sekund». Klassisk 7200 RPM-disk: ~100 IOPS. SSD: 10 000–100 000+ IOPS.
Læringsmål
Hva du skal kunne etter å ha lest kapittelet.
- 01Forklare hvorfor disk-I/O har tre tidskomponenter (seek, rotasjon, transfer) og hvilken som dominerer i ulike arbeidsbelastninger
- 02Sammenligne polling, interrupts, DMA og memory-mapped I/O, og forklare når hver strategi gir best ytelse
- 03Beregne effektiv kapasitet og feiltoleranse for RAID 0 og RAID 1 gitt antall disker og rådata-størrelse
- 04Forklare hvorfor SSD-er trenger wear-leveling og erase-before-write, og hvordan det skaper write amplification