Det er ikke muligt at få adgang til data fra en disk med kun en læsning. Her er hvorfor:
* diskadressering: Disker gemmer data i sektorer, der er som små informationsblokke. Hver sektor har en unik adresse.
* Dataindhentning: For at læse data skal diskcontrolleren kende den nøjagtige sektoradresse, hvor dataene er placeret.
* sekventielle læsninger: Mens en disk kan læse data sekventielt fra den ene sektor til den næste, læser den ikke hele disken på én gang. Det har brug for flere læseoperationer for at få adgang til forskellige dele af disken.
Så hvordan fungerer datatilgang faktisk?
1. søg: Diskarmen flytter læse/skrivehovedet til det rigtige spor (koncentrisk cirkel på disken), hvor den ønskede sektor er bosiddende.
2. latenstid: Disken drejes, indtil sektoren er placeret under læse/skrivehovedet.
3. Læs: Læs/skrivehovedet læser dataene fra sektoren og sender dem til computerens hukommelse.
Derfor kræver adgang til data fra en disk en række trin, herunder søgning, latenstid og flere læseoperationer.
Derudover:
* cache: Moderne diske har ofte en cache, der for nylig har fået adgang til data. Hvis de ønskede data er i cachen, kan læseoperationen være meget hurtig.
* Læs foran: Nogle diskcontrollere forventer dataanmodninger og læser proaktivt data i cachen. Dette kan fremskynde efterfølgende anmodninger.
Fortæl mig, hvis du har flere spørgsmål!