GNU/Linux >> Znalost Linux >  >> Linux

Proč mají operační systémy omezení velikosti souborů?

Souborové systémy potřebují ukládat velikosti souborů (buď v bajtech, nebo v nějaké jednotce závislé na souborovém systému, jako jsou sektory nebo bloky). Počet bitů přidělených velikosti je obvykle pevně stanoven při návrhu souborového systému.

Pokud povolíte příliš mnoho bitů vzhledem k velikosti, každý soubor zabere o něco více místa a každá operace bude o něco pomalejší. Na druhou stranu, pokud povolíte příliš málo bitů vzhledem k velikosti, pak si jednoho dne lidé budou stěžovat, protože se snaží uložit soubor o velikosti 20 EB a váš sprostý souborový systém jim to nedovolí.

V době, kdy byly navrženy souborové systémy, které zmiňujete, znělo mít dostatečně velký disk, aby narazil na limit, jako sci-fi. (Kromě FAT32, ale společnost, která jej propagovala, to zamýšlela jako přechodné opatření, než všichni přijali svůj zbrusu nový NTFS, navíc nikdy nebyli moc dobří v předvídání rostoucích požadavků.)

Další věc je, že až do konce minulého století mohla většina spotřebního (a dokonce i serverového) hardwaru pojmout pouze rychlé výpočty s 32bitovými hodnotami a operační systémy měly tendenci používat 32bitové hodnoty pro většinu věcí, včetně velikostí souborů. 32 bitů znamená 4 GB, takže operační systémy měly tendenci být omezeny na 4 GB soubory bez ohledu na souborový systém, často dokonce 2 GB, protože používaly celá čísla se znaménkem. Jakýkoli seriózní operační systém pro stolní počítače nebo servery dnes používá 64 bitů pro velikosti souborů a posuny, což představuje limit 8 EB.


Limitem jsou obvykle datové struktury na disku. Prozkoumejte, jak tyto operační systémy formátují své disky a jak sledují části souborů na disku, a pochopíte, proč mají tato omezení. Souborový systém FAT je docela dobře zdokumentován online (viz například Wikipedia) a můžete vidět, že jejich volba celočíselných velikostí pro některá pole struktury disku nakonec omezuje celkovou velikost souboru, který můžete uložit s tímto formátem disku.


Linux
  1. Rozdíl ve výpočtu velikosti adresáře?

  2. Proč následující způsob nezmění velikost základního souboru?

  3. Proč Ls a Hexdump nesouhlasí s velikostí souboru?

  1. Podporované a doporučené souborové systémy v systému Linux

  2. sledovat velikost souboru v linuxu

  3. Proč potřebujeme soubor .so.1 v Linuxu?

  1. Android File Transfer pro Linux – odesílání souborů do Linuxu bez omezení velikosti

  2. Co je správa operačních systémů?

  3. Mít soubor s názvem ~ (tilda) v mém domovském adresáři