Det är inte möjligt att komma åt data från en disk med bara en läsning. Här är varför:
* diskadressering: Diskar lagrar data i sektorer, som är som små block av information. Varje sektor har en unik adress.
* Datahämtning: För att läsa data måste diskkontrollen veta den exakta sektoradressen där data finns.
* sekventiella läsningar: Medan en disk kan läsa data i följd från en sektor till nästa, läser den inte hela disken på en gång. Den behöver flera läsoperationer för att komma åt olika delar av disken.
Så, hur fungerar datatillgång faktiskt?
1. Sök: Diskarmen flyttar läs-/skrivhuvudet till rätt spår (koncentrisk cirkel på disken) där den önskade sektorn är bosatt.
2. latens: Disken snurrar tills sektorn är placerad under läs-/skrivhuvudet.
3. Läs: Läs/skrivhuvudet läser data från sektorn och skickar dem till datorns minne.
Därför kräver åtkomst till data från en disk en serie steg, inklusive sökning, latens och flera läsoperationer.
Dessutom:
* cache: Moderna skivor har ofta en cache som lagrar nyligen åtkomst till data. Om de begärda uppgifterna finns i cachen kan läsoperationen vara mycket snabb.
* Läs framåt: Vissa diskkontroller förväntar sig dataförfrågningar och läser proaktivt data i cachen. Detta kan påskynda efterföljande förfrågningar.
Låt mig veta om du har fler frågor!