Struktura ukazatele inode - inode pointer structure - Wikipedia

The struktura ukazatele inode je struktura přijatá inode souboru v Systém souborů Unix (UFS) pro vypsání adres souboru datové bloky. Je také adoptován mnoha souvisejícími systémy souborů, včetně ext3 souborový systém, oblíbený u uživatelů Linuxu.

Struktura

V minulosti se struktura mohla skládat z jedenácti nebo třinácti ukazatelů, ale většina moderních souborových systémů používá patnáct ukazatelů. Tyto ukazatele se skládají z (za předpokladu 15 ukazatelů v inodu):

  • Dvanáct ukazatelů, které přímo ukazují na bloky dat souboru (přímé ukazatele)
  • Jeden jednotlivě nepřímý ukazatel (ukazatel, který ukazuje na blok ukazatelů, které pak ukazují na bloky dat souboru)
  • Jeden dvojnásobně nepřímý ukazatel (ukazatel, který ukazuje na blok ukazatelů, které ukazují na jiné bloky ukazatelů, které pak ukazují na bloky dat souboru)
  • Jeden trojnásobný nepřímý ukazatel (ukazatel, který ukazuje na blok ukazatelů, které ukazují na jiné bloky ukazatelů, které ukazují na jiné bloky ukazatelů, které pak ukazují na bloky dat souboru)

Klíčové vlastnosti

Opravená velikost logického bloku

Struktura je částečně ilustrována na schématu připojeném k tomuto článku. Struktura umožňuje inodům popisovat velmi velké soubory v souborových systémech s pevnou velikostí logického bloku. Centrem mechanismu je to, že bloky adres (také nazývané nepřímé bloky) jsou přidělovány pouze podle potřeby. Například soubor s 12 bloky by byl popsán pouze pomocí inodu, protože jeho bloky zapadají do počtu dostupných přímých ukazatelů. Soubor 13 bloků však potřebuje nepřímý blok, aby obsahoval třináctou adresu.

Snadné umístění dat

Struktura ukazatele inode umožňuje nejen snadné alokaci souborů do nesouvislých bloků, ale také umožňuje snadné vyhledání dat v určitém umístění uvnitř souboru. To je možné, protože velikost logického bloku je pevná. Například pokud má každý blok 8 kB, na souborová data o velikosti 112 kB až 120 kB bude odkazovat třetí ukazatel prvního nepřímého bloku (za předpokladu dvanácti přímých ukazatelů ve struktuře inodového ukazatele).

Nepřímé bloky

Na rozdíl od inodů, které jsou pevně dané počtem a přidělené ve speciální části souborového systému, mohou být nepřímé bloky libovolného počtu a jsou přiděleny ve stejné části souborového systému jako datové bloky. Počet ukazatelů v nepřímých blocích závisí na velikosti bloku a velikosti ukazatelů bloku. Příklad: s velikostí bloku 512 bajtů a ukazateli bloku 4 bajty může každý nepřímý blok obsahovat 128 (512/4) ukazatelů.

Reference

  • Ext3 pro velké souborové systémy, LWN.net, 12. června 2006.
  • Marshall Kirk McKusick; William N. Joy; Samuel J. Leffler; Robert S.Fabry (18. února 1984). „Rychlý systém souborů pro UNIX“ (PDF). Citovat deník vyžaduje | deník = (Pomoc)