Defragmentace
Z MiS
Obsah |
Princip
- Všechny sektory jsou stejně veliké.
- Všechny clustery (datové bloky) jsou stejně velké a každý z nich je složen z jednoho nebo více navazujících sektorů.
- U klasických pevných disků je výhodné, když je soubor umístěn v po sobě se vyskytujících sektorech.
- Po sobě následující totiž sektory bývají ukládány:
- na stejnou stopu
- nevlezou-li, pak na stejný cylindr
- nevlezou-li, pak na vedle sebe následující cylindry.
- Při čtení souboru pak čtecí hlava klasického pevného disku nemusí přejíždět mezi stopami a načtení celého souboru je tedy rychlejší.
- Fakt, že je soubor „rozházen“ do navzájem nenavazujících sektorů, se označuje jako (vnější) fragmentace.
- Fragmentaci odstraňujeme postupem nazývaným defragmentace.
Vnitřní × vnější fragmentace
- Vnitřní fragmentace
- Označuje fakt, že při vytváření souboru vždy obsadíme celý cluster/datový blok (viz cluster), i když velikost souboru je menší.
Například i soubor velikosti 1 B obsadí celý cluster/datový blok. Jeho velikost lze nastavit při formátování disku, nejběžnější hodnoty jsou 2-4 KB. Náš soubor velikosti 1 B tedy ve skutečnosti na disku zabral třeba 4 KB.
- Vnitřní fragmentace tedy způsobuje, že soubory zabírají o něco více místa, než je jejich velikost.
- Vnitřní fragmentaci nelze odstranit defragmentací. Omezit ji můžeme tím, že při formátování disku zvolíme menší velikost clusteru/datového bloku. Tím ale budou větší soubory rozděleny ve větším množství clusterů a to povede k o něco pomalejšímu čtení a rychlejšímu vzniku vnější fragmetace.
- Vnější fragmentace
- Pro čtení souboru z klasických pevných disků je ideální, když je jeden soubor vždy umístěn v po sobě následujících sektorech.
- Při čtení souboru je pravděpodobné, že budeme chtít přečíst soubor celý — všechny sektory, ve kterých je umístěn.
- Pokud by byl soubor rozmístěn po ploše pevného disku na různých místech, říkáme, že je soubor fragmentován. Tento typ fragmentace označujeme jako vnější fragmentaci.
- Vnější fragmentace neubírá místo na disku, ale zpomaluje čtení větších souborů.
- U fragmentovaných souborů musíme pro načtení celého souboru přesouvat čtecí hlavu pevného disku na různá místa, což je pomalá operace. Tím se zpomalí i načtení souboru.
- Vnější fragmentaci lze odstranit pomocí defragmentace. Defragmentační nástroj při ní přesune data na disku tak, aby každý soubor byl umístěn v po sobě následujících sektorech.
- Proto při defragmentaci je potřeba, aby na disku bylo například cca 10 % volného místa. Pokud je většina disku obsazena, není kam přesunovat velké soubory a defragmentaci často nelze provést.
Můžeme to tedy shrnout tak, že buď budeme efektivně ukládat malé soubory (omezíme vnitřní fragmentaci), nebo budeme efektivně ukládat velké soubory (zvětšením clusteru bude soubor rozdělen na méně částí). Za vhodný kompromis se obvykle považuje velikost clusteru/datového bloku cca 4 KB.
Defragmentaci není třeba řešit
- U souborového systému ext2/ext3 — věří se, že je navržen natolik efektivně, že za běžných okolností udržuje fragmentaci souborů na rozumné míře.
- U SSD disků, flash disků a dalších médií, kde trvá přístup na všechna místa stejně dlouho — fragmentace souborů tady nevadí (disk nemá čtecí hlavy a čtení ze všech míst disku je stejně efektivní).
Nástroje
- Windows:
defrag
. - GNU/Linux (ext2/ext3/ext4): obvykle není potřeba.
- Viz Nástroje pro práci s diskem.