Fragmentace (informatika)
Fragmentace je v informatice stav, kdy jsou data na datovém médiu uložena nesouvisle po částech. Fragmentace může způsobovat neefektivnost práce s uloženými daty (nižší rychlost a/nebo snížení kapacity), případně že část kapacity datového média nelze využít. Zřejmě nejčastější problém je fragmentace souborového systému, v počítačových sítích pak fragmentace IP datagramů.
Externí fragmentace
Externí fragmentace označuje fragmentaci mezi alokovanými oblastmi. Volné místo paměti je obsazováno nesouvislými bloky souborů a prostor mezi nimi lze pak následně zaplnit pouze jednotlivými bloky fragmentovaných souborů.
Fragmentace dat
Fragmentace dat se vyskytuje, když je nějaká masa dat v paměti rozbitá do více částí, které nejsou sobě blízko. Je to typický dopad případu, kdy proběhl pokus o vložení velkého objektu do úložiště, ve kterém již proběhla externí fragmentace. Pro odstranění externí fragmentace disku se používá proces zvaný defragmentace. Nověji vyvinuté souborové systémy se fragmentaci snaží předcházet.
Příklad
Soubory jsou v systému obvykle seřazeny v oddílech nazývané bloky nebo shluk. Když je vytvořen souborový systém je dostupný volný prostor na ukládání souborových bloků souvisle. Toto umožňuje rychlému sekvenčnímu souboru číst a zapisovat. Avšak, když jsou soubory přidávány, odstraňovány a mění velikost, výše zmíněný volný prostor prochází externí fragmentací, která zanechává pouze malé díry, do kterých lze umístit nová data. Když je zapsán nový soubor nebo pokud se zvětšuje již existující soubor, operační systém dává nová data do nesouvislých datových bloků, aby se vešly do vzniklých děr. Nové datové bloky jsou nutně rozptýleny, zpomalují přístup kvůli času hledání rotační latenci čtecí/psací hlavy a způsobují další nutné operace ke zvládnutí přidaných lokací. Toto se nazývá fragmentace souborového systému.
Fragmentace operační paměti
V souborovém systému způsobuje ukládání souborů do fragmentovaných částí zpomalení přístupu. Externí fragmentace operační paměti RAM způsobuje nemožnost alokovat souvislý blok paměti. I když je tedy volná paměť v celkovém součtu dostupná, nelze ji využít.
Interní fragmentace
Interní fragmentace (nebo také vnitřní fragmentace) označuje fragmentaci uvnitř alokovaných oblastí. Souborový systém vyhradí pro uložení souboru větší prostor než je velikost souboru. Například, paměť může být poskytnuta pouze částem programům dělitelným 4, 8 nebo 16 a jako důsledek, pokud program vyžaduje kupříkladu 23 bytů, ve skutečnosti dostane prostor o velikosti 32 bytů. Když nastane takováto situace, tak přebytečná paměť zůstává nevyužita. V tomto případě je nepoužitelná paměť obsažena rámci alokovaného regionu. Tato skutečnost, nazývána pevné rozdělení, trpí na neefektivnost využití paměti - jakýkoliv proces, nezáleží na tom, jak „malý“ je zabírá celé rozdělení. Toto plýtvání se nazývá interní fragmentace.
Na rozdíl od ostatních typů fragmentací, interní fragmentace je složitá na nápravu. Obvykle je nejlepší cesta k nápravě designová změna. Například v alokaci dynamické paměti, zdroje paměti drasticky snižují interní fragmentaci díky rozšiřování prostoru nad větším počtem objektů.
Fragmentace IP datagramů
Fragmentace IP datagramů je jev, kdy jsou příliš dlouhé IP datagramy rozděleny na routeru na menší části. Fragmenty spojuje výhradně jejich konečný příjemce.