UFS | |
---|---|
Vývojář | CSRG |
Souborový systém | Souborový systém UNIX |
Datum podání | ( 4.2BSD ) |
Struktura | |
Obsah složky | stůl |
Omezení | |
Maximální velikost souboru |
2 73 bajtů (8 Zbytes ) |
Maximální délka souboru | 255 bajtů |
Maximální velikost svazku |
2 73 bajtů (8 Zbytes ) |
Schopnosti | |
OS podporován | FreeBSD , OpenBSD , NetBSD , DragonFlyBSD , A/UX a další |
Unix File System (UFS) je souborový systém vytvořený pro operační systémy rodiny BSD a používaný v přepracované a doplněné podobě v současnosti jako hlavní v následných operačních systémech ( FreeBSD , OpenBSD , NetBSD ).
Podpora pro tento souborový systém je k dispozici také v jádře Linuxu a operačním systému Solaris .
Fyzicky se UFS skládá z následujících částí:
Inody jsou číslovány postupně. Prvních několik inodů je zachováno z historických důvodů, následovaných kořenovými inody .
Adresář souborů obsahuje pouze seznam souborů a inode přidružené ke každému souboru. Všechna metadata souboru jsou uložena v inode.
Dřívější verze Unixu používaly souborový systém nazývaný jednoduše „FS“. FS obsahoval pouze spouštěcí bloky, superblok, mnoho inodů a datové bloky. To fungovalo dobře na malých discích vyrobených během prvních dnů Unixu. Ale technologie se vyvíjela, disky se zvětšovaly, bylo příliš mnoho inodů a datových bloků. Poté byl FS optimalizován a vyvinut do FFS (Fast File System), ve kterém se objevovaly skupiny válců, z nichž každý měl svůj vlastní inode a vyhýbal se výslednému „skládce“.
Účelem FFS je pokusit se lokalizovat spojení datových bloků a metadat ve stejné skupině cylindrů a v ideálním případě veškerý obsah adresáře (jak dat, tak metadat pro všechny soubory) ve stejné skupině, čímž se sníží fragmentace způsobená rozptýlení obsahu adresářů disku.
Některé z těchto charakteristik v superbloku zahrnovaly počet stop a sektorů, rychlost otáčení disku, rychlost hlavy. V plně optimalizovaném systému lze hlavu posouvat mezi sousedními stopami pro čtení rozptýlených sektorů z vrstev prokládaných stop.
S rostoucí velikostí disků se úroveň optimalizace stala méně efektivní (zejména u disků, které používají sektory lineárního číslování a variabilní sektory na stopu). S nárůstem disků a souborů se čtení fragmentovaných bloků stalo obtížnějším. Aby se tomu zabránilo, BSD původně zvýšilo velikost bloku souborového systému z jednoho sektoru na 1K v 4.0BSD a ve FFS na 8K. Počet bloků reprezentovatelných pevnou (bitovou) šířkou bloku byl zvýšen (rozlišení pro velké disky). S rostoucí velikostí bloku zaberou disky s mnoha malými soubory hodně místa. Pro vyřešení problému neefektivního využití volného místa byla do vrstvy FFS souborového systému UFS2 přidána úroveň fragmentů, což je způsob adresování jednotlivých částí datového bloku - fragmentů.
Kvůli stále rostoucím objemům diskových jednotek a přechodu adresování diskového prostoru na Advanced Format ve FreeBSD byla výchozí velikost bloku souborového systému zvýšena z 16 KB na 32 KB a velikost fragmentu z 2 KB na 4 KB. Tato optimalizace zlepšila výkon diskových I/O operací na diskových jednotkách s kapacitou cca 1 TB s velikostí sektoru 4 KB. Maximální možná velikost bloku na souborovém systému UFS2/FFS je 64 KB.
Uživatelé některých komerčních unixových systémů, jako je Solaris , HP-UX a Tru64 UNIX , přijali UFS. Většina z nich migrovala systémy na UFS, přidala proprietární doplňky, které by mohly uživatelům jiných verzí UNIXu bránit v rozpoznání UFS. Překvapivě mnoho z nich nadále používá původní velikost a šířku bloku dat jako v původním UFS, takže určitá míra kompatibility mezi platformami zůstává. Kompatibilita mezi implementacemi je přinejlepším neúplná a měla by být prozkoumána před použitím na více platformách.
V Solaris 7 Sun Microsystems zahrnul UFS Logging, který přinesl žurnálování souborového systému do UFS. Solaris UFS také obsahoval doplňky pro velké soubory a disky. Počínaje Solaris 10 má uživatel při instalaci na výběr mezi UFS nebo ZFS (Sun's Advanced File System). V OpenSolaris bylo UFS zcela nahrazeno ZFS.
Po 4.4BSD a BSD se unixové systémy rozdělily. Objevily se systémy jako FreeBSD , NetBSD , OpenBSD a DragonFlyBSD . Vznikají UFS1 a UFS2, což jsou tři vrstvy – vrchní vrstva, která poskytuje adresářovou strukturu a udržuje metadata (oprávnění, oprávnění atd.) v inodu struktury, a 2 nižší vrstvy, které umožňují reprezentovat data kontejneru, jako např. jako inody. To bylo provedeno pro podporu tradičních FFS i LFS . Horní vrstva se nazývá "UFS" a spodní vrstvy se nazývají "FFS" a "LFS".
Kirk McKusick postavil FreeBSD na FFS a UFS pro podporu nové varianty nazvané UFS2, která přidává 64bitový blokový ukazatel (umožňující až 8 zettabajtů ) s proměnnou velikostí bloku (podobně jako EFS ), rozšířená pole příznaků, rozšířený atribut podpory a POSIX1.e ACLm. UFS2 se od FreeBSD 5.0 standardně nazývá UFS. FreeBSD také provedlo některé doplňky ( Soft Updates ) a schopnost vytvořit souborový systém z UFS1 a UFS2. Měkké aktualizace byly přeneseny do NetBSD, ale budou odstraněny z NetBSD 6.0 ve prospěch méně komplexního souborového systému žurnálovacího mechanismu ( WAPBL ), který byl přidán pro FFS v NetBSD 5.0. OpenBSD podporuje měkké aktualizace ve verzi 2.9 [1] a UFS2 od verze 4.2 [2] . Od FreeBSD 7.0 UFS také podporuje žurnálovaný souborový systém pomocí gjournal poskytovatele GEOM . FreeBSD 9.0 přidalo podporu žurnálování nad softupdates (SU+J) [3] , což výrazně snižuje potřebu kontrol souborového systému na pozadí a standardně používá ACL ve stylu NFS.
Linux podporuje UFS na úrovni čtení, ale nemá plnou podporu pro zápis UFS. Nativní Linux ext2 je modelován podle UFS (na některých systémech 4.4BSD může vrstva UFS používat vrstvu ext2 jako kontejner, stejně jako může používat FFS a LFS).
NeXTStep , který pochází z BSD, také používá verzi UFS. V Apple Mac OS X je UFS k dispozici jako alternativa k HFS+ . Od Mac OS X v10.5 však nemůžete nainstalovat Mac OS X "Leopard" na oddíl ve formátu UFS. Také nemůžete upgradovat starší verze Mac OS X nainstalované na UFS na Leopard; upgrade vyžaduje přeformátování oddílu.
Herní konzole PlayStation 3 používá na svém HDD UFS2. PlayStation 2 používá UFS. [čtyři]
Program R.saver můžete použít pro přístup k systému souborů UFS z operačních systémů řady Windows .
Souborové systémy ( seznam , srovnání ) | |||||||
---|---|---|---|---|---|---|---|
Disk |
| ||||||
Distribuované (síť) | |||||||
Speciální |
|