Det er ikke mulig å få tilgang til data fra en disk med bare en lesning. Her er grunnen:
* Diskadressering: Disker lagrer data i sektorer, som er som små blokker med informasjon. Hver sektor har en unik adresse.
* Datainnhenting: For å lese data, trenger diskkontrolleren å vite den nøyaktige sektoradressen der dataene er lokalisert.
* Sekvensielle leser: Mens en disk kan lese data sekvensielt fra en sektor til den neste, leser den ikke hele disken på en gang. Den trenger flere leseoperasjoner for å få tilgang til forskjellige deler av disken.
Så, hvordan fungerer datatilgang faktisk?
1. Søk: Diskarmen flytter lese-/skrivehodet til riktig spor (konsentrisk sirkel på disken) der den ønskede sektoren ligger.
2. latens: Disken snurrer til sektoren er plassert under lese-/skrivehodet.
3. Les: Les-/skrivehodet leser dataene fra sektoren og sender dem til datamaskinens minne.
Derfor krever tilgang til data fra en disk en serie trinn, inkludert søking, latens og flere leseoperasjoner.
I tillegg:
* cache: Moderne disker har ofte en hurtigbuffer som lagrer nylig har tilgang til data. Hvis de etterspurte dataene er i hurtigbufferen, kan lesetoperasjonen være veldig rask.
* Les fremover: Noen diskkontrollere forventer dataforespørsler og leser proaktivt data i cachen. Dette kan fremskynde påfølgende forespørsler.
Gi meg beskjed hvis du har flere spørsmål!