UFS | |
---|---|
Udvikler | CSRG |
Filsystem | UNIX filsystem |
Indsendelsesdato | ( 4.2BSD ) |
Struktur | |
Mappeindhold | bord |
Begrænsninger | |
Maksimal filstørrelse |
2 73 bytes (8 Zbytes ) |
Maksimal filnavnlængde | 255 bytes |
Maksimal volumenstørrelse |
2 73 bytes (8 Zbytes ) |
Evner | |
OS understøttet | FreeBSD , OpenBSD , NetBSD , DragonFlyBSD , A/UX og andre |
Unix File System (UFS) er et filsystem skabt til operativsystemer i BSD -familien og brugt i en revideret og suppleret form i øjeblikket som det primære i efterkommeroperativsystemer ( FreeBSD , OpenBSD , NetBSD ).
Understøttelse af dette filsystem er også tilgængelig i Linux-kernen og Solaris -operativsystemet .
Fysisk består UFS af følgende dele:
Inoderne er nummereret fortløbende. De første par inoder bibeholdes af historiske årsager, efterfulgt af rodinoderne .
Filbiblioteket indeholder kun en liste over filer og en inode tilknyttet hver fil. Alle filmetadata gemmes i inoden.
Tidlige versioner af Unix brugte et filsystem blot kaldet "FS". FS inkluderede kun opstartsblokke, superblok, mange inoder og datablokke. Dette fungerede godt på de små diske, der blev produceret i de tidlige Unix-dage. Men teknologien udviklede sig, diske blev større, der var for mange inoder og datablokke. Derefter blev FS optimeret og udviklet til FFS (Fast File System), hvor grupper af cylindre optrådte, som hver havde sin egen inode og undgik den resulterende "dump".
Formålet med FFS er at forsøge at lokalisere tilknytningen af datablokke og metadata i den samme cylindergruppe, og ideelt set alt indholdet af en mappe (både data og metadata for alle filer) i den samme gruppe, og dermed reducere fragmentering forårsaget af spredning af indholdet af diskmapper.
Nogle af disse karakteristika i en superblok inkluderede antallet af spor og sektorer, diskrotationshastighed, hovedhastighed. I et fuldt optimeret system kan hovedet flyttes mellem tilstødende spor for at læse spredte sektorer fra sammenflettede sporlag.
Efterhånden som diskstørrelserne er steget, er optimeringsniveauet blevet mindre effektivt (især med diske, der bruger lineære nummereringssektorer og variable sektorer pr. spor). Med stigningen i diske og filer er det blevet vanskeligere at læse fragmenterede bidder. For at bekæmpe dette øgede BSD oprindeligt filsystemets blokstørrelse fra én sektor til 1K i 4.0BSD og, i FFS, til 8K. Antallet af blokke, der kan repræsenteres med en fast (bit) blokbredde, er blevet øget (opløsning for store diske). Når blokstørrelsen øges, vil diske med mange små filer optage meget plads. For at løse problemet med ineffektiv brug af ledig plads blev der tilføjet et fragmentniveau til FFS-laget i UFS2-filsystemet, som er en måde at adressere individuelle dele af en datablok - fragmenter.
På grund af stadigt stigende mængder af diskdrev og overgangen af diskpladsadressering til Advanced Format i FreeBSD, er filsystemets standardblokstørrelse blevet øget fra 16 KB til 32 KB, og fragmentstørrelsen fra 2 KB til 4 KB. Denne optimering forbedrede ydeevnen af disk I/O-operationer på diskdrev med en kapacitet på omkring 1 TB med en sektorstørrelse på 4 KB. Den maksimalt mulige blokstørrelse på et UFS2/FFS-filsystem er 64 KB.
Brugere af nogle kommercielle Unix-systemer, såsom Solaris , HP-UX og Tru64 UNIX , har taget UFS til sig. De fleste af dem migrerede systemer til UFS, tilføjede proprietære tilføjelser, der kunne forhindre brugere af andre versioner af UNIX i at genkende UFS. Overraskende nok fortsætter mange af dem med at bruge den originale datablokstørrelse og blokbredde, som de gjorde i den originale UFS, så der er stadig en vis grad af kompatibilitet på tværs af platforme. Kompatibiliteten mellem implementeringer er i bedste fald ufuldstændig og bør undersøges, før den bruges på flere platforme.
I Solaris 7 inkluderede Sun Microsystems UFS Logging, som bragte filsystemjournalføring til UFS. Solaris UFS inkluderede også ekstramateriale til store filer og diske. Fra og med Solaris 10 får brugeren valget mellem enten UFS eller ZFS (Suns avancerede filsystem) ved installationen. I OpenSolaris er UFS blevet fuldstændig erstattet af ZFS.
Efter 4.4BSD og BSD Unix-systemer splittes. Systemer som FreeBSD , NetBSD , OpenBSD og DragonFlyBSD dukkede op . UFS1 og UFS2 bliver til, som er tre lag - et øverste lag, der sørger for katalogstrukturen og vedligeholder metadata (tilladelser, tilladelser osv.) i strukturens inode, og 2 nederste lag, der gør det muligt at repræsentere containerdata, som f.eks. som inoder. Dette blev gjort for at understøtte både traditionel FFS og LFS . Det øverste lag kaldes "UFS", og de nederste lag kaldes "FFS" og "LFS".
Kirk McKusick byggede FreeBSD på FFS og UFS for at understøtte en ny variant kaldet UFS2, som tilføjer en 64-bit blokpointer (som tillader op til 8 zettabyte ) med en variabel blokstørrelse (ligner EFS ), udvidede flagfelter, udvidet støtteattribut og POSIX1.e ACLm. UFS2 er blevet kaldt UFS som standard siden FreeBSD 5.0. FreeBSD lavede også nogle tilføjelser ( Soft Updates ) og muligheden for at oprette et filsystem fra UFS1 og UFS2. Bløde opdateringer er blevet overført til NetBSD, men vil blive fjernet fra NetBSD 6.0 til fordel for det mindre komplekse journaliseringsmekanisme-filsystem ( WAPBL ), der blev tilføjet til FFS i NetBSD 5.0. OpenBSD har understøttet bløde opdateringer i version 2.9 [1] og UFS2 siden version 4.2 [2] . Da FreeBSD 7.0 UFS også understøtter et journaliseret filsystem ved hjælp af gjournal GEOM - udbyderen. FreeBSD 9.0 tilføjede journaliseringsunderstøttelse oven på softupdates(SU+J) [3] , hvilket i høj grad reducerer behovet for baggrundsfilsystemtjek og bruger NFS-stil ACL'er som standard.
Linux understøtter UFS på læseniveau, men har ikke fuld understøttelse til at skrive UFS. Det oprindelige Linux ext2 er modelleret efter UFS (på nogle 4.4BSD-systemer kan UFS-laget bruge ext2-laget som en container, ligesom det kan bruge FFS og LFS).
NeXTStep , som stammer fra BSD, bruger også UFS-versionen. I Apples Mac OS X er UFS tilgængelig som et alternativ til HFS+ . Men fra og med Mac OS X v10.5 kan du ikke installere Mac OS X "Leopard" på en UFS-formateret partition. Du kan heller ikke opgradere ældre versioner af Mac OS X installeret på UFS til Leopard; opgradering kræver omformatering af partitionen.
PlayStation 3 -spillekonsollen bruger UFS2 på sin HDD. PlayStation 2 bruger UFS. [fire]
Du kan bruge programmet R.saver til at få adgang til UFS-filsystemet fra Windows -familien af operativsystemer .
Filsystemer ( liste , sammenligning ) | |||||||
---|---|---|---|---|---|---|---|
Disk |
| ||||||
Distribueret (netværk) | |||||||
Særlig |
|