Citat:
Ursprungligen inskrivet av ajp_anton
Hm... lyckades tydligen få dig att tro att jag är dum
Vad jag inte fattar är varför den gula högen inte når längst ner. Måste väl hända nån gång att nästa access ligger precis där läshuvudet redan är. Även om sannolikheten är liten så borde inte högen ha en så skarp kant längst ner enligt mig (inte där uppe heller förresten).
Det finns några enstaka prickar på noll-strecket, men inget mer.
Oj, var inte meningen att få dig att känna dig dum Tänkte bara att jag skulle försöka förklara lite bättre då frågan kommit upp två gånger i tråden.
Angående att det finns så få prickar vid noll-sträcket:
Som jag skrev tidigare. Tänk på att skivan alltid roterar. Detta gör det omöjligt för läshuvudet att läsa på samma ställe två gånger i följd. För att skivan ska rotera ett var så tar det (med 10000rpm) 6ms.
För att en punkt ska hamna vid noll-sträcket så kan jag tänka mig två saker: Informationen ligger redan i buffern eller så är där en bugg i programmet.
I ett verkligt scenario så läser man ofta filer som ligger på olika ställen. Ofta är filerna också fragmenterade. Detta gör ju att man sällen kommer att läsa från samma ställe två gånger i följd. Med NCQ kan det dessutom vara mer praktiskt att läsa något som ligger på ett annat spår först, innan man kommer tillbaka till samma punkt.
Angående att det blir en skarp kant så läs det jag skrev tidigare. Svaret finns där. Ska ta ett litet exempel också:
Tänk tig att att vi vill ta reda på hur lång tid det tar för läshuvudet att finna en punkt som ligger 5% längre fram.
Vi börjar att testa 5% längst ut på skivan där det är finns mest data per spår. Om vi nu antar att 5% fortfarande ligger på samma spår så kommer punkten vi ska finna ligga ca 6ms bort (förmodligen mindre då skivan inte behöver rotera ett helt varv).
När vi ska testa att flytta punkten mellan 95% och centrum (100%) så kommer de 5% att inkludera ett flertal spår. I värsta fall kommer det gå åt mer än ett varv innan läshuvudet hittat till nästa spår så att disken kanske hinner rotera mer än ett varv på den tiden. Detta skulle innebära att vi minst måste vänta på att två varv ska passera, eller 12ms.
Dessa två fallen skulle då vara bästa och sämsta resultatet. Samtliga delresultat mellan början och slutet på disken skulle då hamna inom intervallet [6ms, 12ms]. Detta gör ju förstås att man får den övre och undre linjen.
Blev väldigt långt det här. Hoppas att det är någon som orkar läsa allt