Speed Disk - zajímavý defrag

Tímto článkem jsem jistě neobjevil Ameriku, přesto bych vás rád seznámil s jedním dle mě velmi povedeným defragmentačním nástrojem z dílen společnosti Symantec. Tím programem není nic jiného než Speed Disk známý již z dob kralování DOSu. Oproti klasickému defragu z Windows nabízí něco navíc...
Kapitoly článku

Fragmentace souborů

Hned na začátek bych měl patrně začít tím, co je to vlastně fragmentace souborů. Z hardwarového hlediska se data na disk zapisují do sektorů, z nichž každý má velikost 512 byte. Z pohledu softwarového je situace trochu odlišná. Data se rovněž zapisují po blocích (alespoň v případě FAT), velikost jednoho bloku ale závisí na typu souborového systému a velikosti oddílu disku, tzv. partition. Mám-li mluvit v konkrétních číslech, velikost softwarového bloku se dnes běžně pohybuje od 4 kByte do nějakých 32 kByte.

Na začátku disku se nachází oddíl určený pro bootování a tabulka rozdělení disků. V každém oddíle (partition) se nachází tabulka, která zaznamenává, kde jsou která data uložena. Samotná data se pak ukládají zvlášť. V ideálním případě by všechny data byla co nejblíže začátku partition a jednotně za sebou.

Důvod je prostý - z hardwarového hlediska jsou data ukládána v kruzích zvaných stopy, jež se rychle otáčejí a nad nimiž "plave" čtecí-zapisovací hlava. Protože stopy ve vnější části disku jsou výrazně delší než v části vnitřní, je při zachování stejné rychlosti otáčení dosahováno u vnějších stop mnohem vyšší obvodové rychlosti, takže hlava je schopná zpracovat za stejný časový úsek více dat. Umístěním dat za sebou zase nutíme hlavu méně se pohybovat po povrchu disku, čímž jednak urychlíme práci disku, ale zároveň prodlužujeme jeho životnost a snižujeme teplotu.

Problém ale spočívá v tom, jakým způsobem se data ukládají. Bohužel operační systém Windows je v tomto ohledu nepříliš "inteligentní", data totiž zapisuje na libovolné místo, jak se mu to právě hodí. Tím vznikají situace, kdy na začátku jsou data, pak dlouho nic, pak opět data, pak opět nic atd. Když je pak potřeba zapsat nějaký větší soubor, často to dopadne tak, že se kus souboru zapíše na menší volné místo mezi jinými soubory a zbytek pak na úplně jinou část disku. Takto může být jeden velký soubor rozdělen i na několik stovek různě roztroušených malých částí. Při tomto uspořádání hlava disku musí často přejíždět a ani rychlost čtení / zápisu dat není optimální. Tomuto stavu se říká fragmentace souborů a volného místa.

Pravda je bohužel taková, že sebelepší operační systém nedokáže fragmentaci zabránit. To je dáno tím, že data se sice mohou zapisovat za sebou, když ale některá z nich smažete, vznikne díra, prázdné místo. A fragmentace volného místa je na světě.


Toto je typický obrázek uložení dat na disku - čtverečky značí data, bílá místa pak volný prostor

Úkolem defragmentačních programů je, jak již samotný název napovídá, tuto fragmentaci odstranit. To se děje velmi jednoduchým způsobem - data se na disku přeskupí tak, aby soubory byly v jednom celku a pěkně za sebou na začátku disku.

Nové nápady = rychlejší práce?

Protože tržní ekonomika je neúprosná a kdyby všechny defragmentační programy dělaly to samé, patrně by je převálcoval nějaký open source, bylo nutné vymyslet nějaké ty invence. A tak si někdo z vývojářů uvědomil, že vlastně samotné přesouvání souborů za sebou nemusí stačit. Úkol byl jednoduchý - jak za sebou soubory poskládat tak, aby se čtecí hlava musela přesouvat málo nebo vůbec.

Tento zdánlivě jednoduchý úkol je v reálu téměř neřešitelný. Platforma dnešních PC je natolik rozšířená a existuje takové množství programů, že ideální uspořádání souborů za sebou jednoduše neexistuje. I tak je ale možné dosáhnout určité optimalizace.

Jako ukázkový příklad může posloužit defrag z Windows 98. Ten je sice v základu založen na produktu společnosti Symantec, tato verze v sobě ale integruje i optimalizace.

O co jde? Zaškrtnutím příslušného políčka v nastavení se spustí speciální režim, který organizuje soubory v zcela jiném pořadí než obvykle. Operační systém si při spouštění aplikací a i při jejich běhu poznamenává, které soubory jsou využívány. Defragmentační program pak vezme tuto databázi, zhodnotí frekvenci používání jednotlivých souborů a nejčastěji používané umístí na začátek disku.

Tato metoda má pochopitelně svá ale, jmenovat můžu například to, že je efektivní pouze při častém používání malého množství programů a že, a to je horší, může v některých případech načítání programů zrychlit, jindy naopak zpomalit.

Témata článku: , , , , , , , , , , , , , , , , , , ,