UFS | |
---|---|
Fejlesztő | CSRG |
Fájlrendszer | UNIX fájlrendszer |
Benyújtás dátuma | ( 4.2BSD ) |
Szerkezet | |
Mappa tartalma | asztal |
Korlátozások | |
Maximális fájlméret | 273 bájt (
8 Zbyte ) |
A fájlnév maximális hossza | 255 bájt |
Maximális kötetméret | 273 bájt (
8 Zbyte ) |
Képességek | |
OS támogatott | FreeBSD , OpenBSD , NetBSD , DragonFlyBSD , A/UX és mások |
A Unix File System (UFS) a BSD család operációs rendszerei számára létrehozott fájlrendszer , amelyet felülvizsgált és kiegészített formában jelenleg a leszármazott operációs rendszerek ( FreeBSD , OpenBSD , NetBSD ) főként használnak.
A fájlrendszer támogatása a Linux kernelben és a Solaris operációs rendszerben is elérhető .
Fizikailag az UFS a következő részekből áll:
Az inódák sorszámozással vannak ellátva. Történelmi okokból az első néhány inode megmarad, majd a gyökér inode következik .
A fájlkönyvtár csak a fájlok listáját és az egyes fájlokhoz tartozó inode-okat tartalmazza. Az összes fájl metaadatát az inode tárolja.
A Unix korai verziói egy egyszerűen "FS" nevű fájlrendszert használtak. Az FS csak rendszerindító blokkokat, szuperblokkot, sok inode-ot és adatblokkot tartalmazott. Ez jól működött a korai Unix időkben gyártott kis lemezeken. De a technológia fejlődött, a lemezek nagyobbak lettek, túl sok inode és adatblokk lett. Ezután az FS-t optimalizálták, és FFS-vé (Fast File System) fejlesztették, amelyben hengercsoportok jelentek meg, amelyek mindegyikének saját inódja volt, és elkerülték az ebből eredő "dump"-ot.
Az FFS célja, hogy megpróbálja lokalizálni az adatblokkok és metaadatok társítását ugyanabban a hengercsoportban, és ideális esetben egy könyvtár összes tartalmát (mind az adatokat, mind az összes fájl metaadatait) ugyanabban a csoportban, így csökkentve a a lemezkönyvtárak tartalmának szétszóródása.
A szuperblokk ezen jellemzői közé tartozik a sávok és szektorok száma, a lemez forgási sebessége és a fej sebessége. Egy teljesen optimalizált rendszerben a fej mozgatható a szomszédos sávok között, hogy kiolvassák a szétszórt szektorokat az átlapolt sávrétegekből.
A lemezméretek növekedésével az optimalizálási szint kevésbé hatékony (különösen azoknál a lemezeknél, amelyek lineáris számozási szektorokat és sávonként változó szektorokat használnak). A lemezek és fájlok számának növekedésével a töredezett darabok olvasása nehezebbé vált. Ennek leküzdésére a BSD eredetileg egy szektorról 1K-ra növelte a fájlrendszer blokkméretét 4.0BSD-ben, FFS-ben pedig 8K-ra. Növelték a rögzített (bit) blokkszélességgel ábrázolható blokkok számát (nagy lemezek felbontása). A blokk méretének növekedésével a sok kis fájlt tartalmazó lemezek sok helyet foglalnak el. A szabad hely nem hatékony felhasználásának problémájának megoldása érdekében az UFS2 fájlrendszer FFS rétegéhez egy töredékszintet adtunk, amely az adatblokk egyes részei - a töredékek - kezelésének módja.
A lemezmeghajtók folyamatosan növekvő mennyisége és a lemezterület címzésének Advanced Formatra való átállása miatt a FreeBSD-ben a fájlrendszer alapértelmezett blokkmérete 16 KB-ról 32 KB-ra, a töredékek mérete pedig 2 KB-ról 4 KB-ra nőtt. Ez az optimalizálás javította a lemez I/O műveleteinek teljesítményét körülbelül 1 TB kapacitású és 4 KB szektorméretű lemezmeghajtókon. A maximális lehetséges blokkméret UFS2/FFS fájlrendszeren 64 KB.
Néhány kereskedelmi Unix rendszer, például a Solaris , a HP-UX és a Tru64 UNIX felhasználói az UFS-t alkalmazták. A legtöbben áttelepítették a rendszereket az UFS-re, és saját fejlesztésű kiegészítéseket adtak hozzá, amelyek megakadályozhatják a UNIX más verzióinak felhasználóit az UFS felismerésében. Meglepő módon sokan továbbra is az eredeti adatblokk méretet és blokkszélességet használják, ahogyan az eredeti UFS-ben is, így a platformok közötti kompatibilitás bizonyos foka megmarad. A megvalósítások közötti kompatibilitás a legjobb esetben is hiányos, és meg kell vizsgálni, mielőtt több platformon használnák.
A Solaris 7 -ben a Sun Microsystems beépítette az UFS-naplózást, amely a fájlrendszer-naplózást hozta az UFS-be. A Solaris UFS extrákat is tartalmazott a nagy fájlokhoz és lemezekhez. A Solaris 10-től kezdve a felhasználó választhat UFS vagy ZFS (Sun Advanced File System) közül a telepítés során. Az OpenSolarisban az UFS-t teljesen felváltotta a ZFS.
A 4.4BSD és a BSD Unix rendszerek szétválása után. Olyan rendszerek jelentek meg, mint a FreeBSD , NetBSD , OpenBSD és DragonFlyBSD . Létrejön az UFS1 és az UFS2, amelyek három rétegből állnak - egy felső réteg, amely biztosítja a könyvtárstruktúrát és karbantartja a metaadatokat (engedélyek, engedélyek stb.) a struktúra inode-jában, valamint 2 alsó réteg, amely lehetővé teszi a konténeradatok megjelenítését, mint pl. mint inodes. Ez a hagyományos FFS és LFS támogatása érdekében történt . A felső réteg neve "UFS", az alsó réteg pedig "FFS" és "LFS".
Kirk McKusick a FreeBSD-t FFS-re és UFS-re építette, hogy támogassa az új UFS2-t, amely egy 64 bites blokkmutatót (legfeljebb 8 zettabájtot tesz lehetővé ) változó blokkmérettel (hasonlóan az EFS -hez ), kiterjesztett zászlómezőket, kiterjesztett támogatási attribútumot és POSIX1.e ACLm. Az UFS2-t alapértelmezés szerint UFS-nek hívják a FreeBSD 5.0 óta. A FreeBSD emellett néhány kiegészítést ( Soft Updates ) is tett, valamint lehetővé tette az UFS1 és UFS2 fájlrendszerek létrehozását. A szoftveres frissítéseket a NetBSD-re portolták, de a NetBSD 6.0-ból eltávolítják a kevésbé összetett naplózási mechanizmus fájlrendszer ( WAPBL ) javára, amelyet a NetBSD 5.0-ban az FFS-hez adtak hozzá. Az OpenBSD támogatja a Soft frissítéseket a 2.9-es verzióban [1] és az UFS2-t a 4.2-es verzió óta [2] . A FreeBSD 7.0 óta az UFS a gjournal GEOM szolgáltatót használó naplózott fájlrendszert is támogatja . A FreeBSD 9.0 a szoftverfrissítéseken (SU+J) [3] kiegészítette a naplózási támogatást , ami nagymértékben csökkenti a háttérben végzett fájlrendszer-ellenőrzések szükségességét, és alapértelmezés szerint NFS-stílusú ACL-eket használ.
A Linux olvasási szinten támogatja az UFS-t, de nem támogatja teljes mértékben az UFS írását. A natív Linux ext2 -t az UFS után modellezték (egyes 4.4BSD rendszereken az UFS réteg használhatja az ext2 réteget tárolóként, csakúgy, mint az FFS-t és az LFS-t).
A BSD-től származó NeXTStep szintén az UFS verziót használja. Az Apple Mac OS X rendszerében az UFS a HFS+ alternatívájaként érhető el . A Mac OS X v10.5 verziótól kezdve azonban a Mac OS X "Leopard" nem telepíthető UFS-formátumú partícióra. Ezenkívül nem frissítheti az UFS-re telepített Mac OS X régebbi verzióit Leopardra; a frissítés a partíció újraformázását igényli.
A PlayStation 3 játékkonzol UFS2-t használ a merevlemezén. A PlayStation 2 UFS-t használ. [négy]
Az R.saver programmal elérheti az UFS fájlrendszert a Windows operációs rendszerek családjából .
Fájlrendszerek ( lista , összehasonlítás ) | |||||||
---|---|---|---|---|---|---|---|
Korong |
| ||||||
Elosztott (hálózat) | |||||||
Különleges |
|