Rychlost čtení souboru z pevného disku

../../Attachments/Pasted image 20230621210557.png

Fragmentovaný po blocích

  • Kapacita: 2TiB
  • Počet hlav: 1
  • Velikost sektoru: 512 B
  • Počet cylindrů 524288
  • Průměrný počet sektorů na cylinder: 8192
  • Rychlost: 6000 rpm
  • Vystavění hlavičky: 7ms
  • Vystavění hlavičky na sousední cylindr: 1ms

Soubor je o velikosti 20135936 B, fragmentovaný po 8192B blocích.


ms
Počet bloků:
Doba čtení jednoho sektoru: ms
Počet sektorů v jednom bloku:
Doba čtení jednoho bloku:
Doba čtení celého souboru: ěíč


Dostáváme tedy:

ms
bloků
Doba čtení jednoho sektoru: ms
Počet sektorů v jednom bloku:
Doba čtení jednoho bloku:
Doba čtení celého souboru:

Fragmentovaný náhodně

Zadaný počet sektorů

  • Máme disk s těmito parametry:
  • HDD má pouze jeden porch, který se otáčí 10 000 rpm
  • Velikost sektoru 512 B
  • Každá stopa (cylindr) má 320 sektorů ()
  • Průměrná doba vystavení hlaviček: 10 ms ()
  • Doba vystavení hlaviček na sousední stopu (cylindr): 1 ms ()

Jak dlouho bude trvat přečíst 2560 sektorů () uložených náhodně na disku?

Jedna rotace: ms
Průměrné zpoždění: ms
Rotace na 1 sektor: rotace
Načtení jednoho sektoru: ms

Celkem: ms

Zadaná velikost souboru

  • ! Zde si nejsem jistý, jestli je výpočet správně. Nevím, jestli je potřeba nějak zohlednit 8 hlav, ale přijde mi, že spíš je to informace navíc? Normálně u sekvenčního čtení by asi chtělo vzít v potaz, že můžeme číst z 8 stop/ploten/hlav najednou (tedy cylinder rozdělit na 8 částí). Ale u náhodného rozprostření sektorů na disku bychom teoreticky mohli číst z 1 až 8 ploten najednou, což ale nevíme kdy a kolik, takže to beru jako bychom četli v jeden okamžik pouze z 1.
  • Máme k dispozici pevný disk s následujícími parametry:
  • Kapacita 1.5 TiB
  • Velikost sektoru: 512 B ()
  • Počet hlav: 8
  • Počet cylindrů: 786 432
  • Průměrný počet sektorů na cylinder: 4096 ()
  • Rychlost: 15000 rpm
  • Průměrná doba vystavení hlaviček: 6 ms ()
  • Doba vystavení hlaviček na sousední cylinder: 3 ms ()

Jak dlouho bude trvat přečíst soubor o velikosti 1 989 632 B () z disku, pokud je jeho obsah uložen na jednotlivých sektorech náhodně umístěných po disku?

ms
ms
rotace

sektorů na soubor

ms

Celkem: ms

Zadaná tabulka cylindrů

Algoritmus SCAN (Elevator)

  • Kapacita: 3 TiB
  • Velikost sektoru: 4096 B
  • Počet hlav: 1
  • Počet cylindrů: 98304
  • Průměrný počet sektorů na cylinder: 8192 ()
  • Rychlost: 15000 rpm
  • Průměrná rychlost vystavení hlaviček: 4 ms / 100 cyl ()

V systému jsou následující požadavky na diskové operace (zadané v tomto pořadí):
(sloupeček fáze jsem si doplnil sám jen pro ukázku ve vzorečku níže)

Fáze () Cylinder Počet za sebou jdoucích sektorů () Operace
1 55700 3000 W
2 53100 3200 W
3 38600 400 R
4 82800 5800 W
5 11300 1000 R

Hlavičky se na počátku nacházejí na cylindru 48300 a (pokud je to pro zadanou strategii potřeba) uvažujte jejich pohyb směrem k vyšším cylindrům.
Jak dlouho bude trvat vyřízení těchto požadavků, pokud uvažujeme strategii SCAN Algoritmu (elevator alg.)?

ms
ms
ms na 1 cylinder (protože na 100 cylindrů to trvá 4 ms)

Elevator algoritmus načítá cylindry v tomto pořadí (jde nejdřív nahoru, pak zase dolů; nad šipkou je počet přeskočených cylindrů a směr (+/-)):

čá

Celkem:
kde je fáze přeskočených bloků

Tedy:





ms

Poznámka

Vzoreček si lze zjednodušit, protože hodnoty v druhé závorce nijak nesouvisí s hodnotami v první závorce. Můžeme tedy posčítat všechny přeskočené cylindry, všechny delaye a všechny sektory.
ms

Algoritmus SSTF

  • Otáčky: 5000 rpm
  • Průměrný počet sektorů na cylinder: 8192 ()
  • Počet hlav: 1
  • Počáteční pozice hlavy: cylindr 88400
  • Průměrná rychlost vystavení hlaviček: 9 ms / 100 cylindrů ()
  • Strategie SSTF

V systému jsou následující požadavky na diskové operace (zadané v tomto pořadí):
(sloupeček fáze jsem si doplnil sám jen pro ukázku ve vzorečku níže)

Fáze () Cylinder Počet za sebou jdoucích sektorů () Operace
1 87900 2600 W
5 68300 2200 W
2 105800 8000 R
4 69200 400 W
3 111200 6200 R

ms
ms
ms na 1 cylinder (protože na 100 cylindrů to trvá 9 ms)

SSTF algoritmus načítá cylindry v tomto pořadí (jde nejdříve k nejbližším sektorům; nad šipkou je počet přeskočených cylindrů a směr (+/-)):

čá

Celkem:
kde je fáze přeskočených bloků

Tedy:





ms

Poznámka

Vzoreček si lze zjednodušit, protože hodnoty v druhé závorce nijak nesouvisí s hodnotami v první závorce. Můžeme tedy posčítat všechny přeskočené cylindry, všechny delaye a všechny sektory.
ms

Nefragmentovaný (sekvenční)

  • Máme k dispozici pevný disk s následujícími parametry:
  • Velikost sektoru: 512 B
  • Počet hlav: 1
  • Počet cylindrů: 81920
  • Průměrný počet sektorů na cylinder: 320 ()
  • Rychlost: 10000 rpm
  • Průměrná doba vystavení hlaviček: 10 ms ()
  • Doba vystavení hlaviček na sousední cylinder: 1 ms ()

Jak dlouho bude trvat přečíst soubor o velikosti 1.3 MB z disku, pokud soubor není vůbec fragmentovaný? Čas zadejte v ms, tolerance 1%.

B

ms (doba čtení jednoho cylindru)
ms

sektorů (sektorů pro tento soubor)

cylindrů (cylindrů pro tento soubor)

Doba čtení prvního cylindru: ms
Doba čtení zbylých cylindrů:

Celkem: ms