UFS | |
---|---|
Kehittäjä | CSRG |
Tiedostojärjestelmä | UNIX-tiedostojärjestelmä |
Jättöpäivämäärä | ( 4.2BSD ) |
Rakenne | |
Kansion sisältö | pöytä |
Rajoitukset | |
Tiedoston enimmäiskoko |
2 73 tavua (8 Ztavua ) |
Tiedostonimen enimmäispituus | 255 tavua |
Suurin äänenvoimakkuuden koko |
2 73 tavua (8 Ztavua ) |
Ominaisuudet | |
OS tuettu | FreeBSD , OpenBSD , NetBSD , DragonFlyBSD , A/UX ja muut |
Unix File System (UFS) on BSD -perheen käyttöjärjestelmille luotu tiedostojärjestelmä, jota käytetään tarkistetussa ja täydennetyssä muodossa tällä hetkellä pääjärjestelmänä jälkeläisissä käyttöjärjestelmissä ( FreeBSD , OpenBSD , NetBSD ).
Tuki tälle tiedostojärjestelmälle on saatavilla myös Linux-ytimessä ja Solaris - käyttöjärjestelmässä .
Fyysisesti UFS koostuu seuraavista osista:
Inodit on numeroitu peräkkäin. Muutamat ensimmäiset inodit säilytetään historiallisista syistä, minkä jälkeen tulevat juuriinodit .
Tiedostohakemisto sisältää vain luettelon tiedostoista ja jokaiseen tiedostoon liittyvän inodin. Kaikki tiedoston metatiedot tallennetaan inodiin.
Unixin varhaiset versiot käyttivät tiedostojärjestelmää nimeltä yksinkertaisesti "FS". FS sisälsi vain käynnistyslohkot, superlohkot, monet inodit ja datalohkot. Tämä toimi hyvin Unixin alkuaikoina tuotetuilla pienillä levyillä. Mutta tekniikka kehittyi, levyt kasvoivat, inodeja ja tietolohkoja oli liikaa. Sitten FS optimoitiin ja kehitettiin FFS:ksi (Fast File System), johon ilmestyi sylinteriryhmiä, joista jokaisella oli oma inodi ja vältyttiin tuloksena syntyvältä "dumpilta".
FFS:n tarkoituksena on yrittää lokalisoida tietolohkojen ja metatietojen yhdistäminen samaan sylinteriryhmään ja ihannetapauksessa kaikki hakemiston sisältö (sekä kaikkien tiedostojen tiedot että metatiedot) samassa ryhmässä, mikä vähentää hajautusten aiheuttamaa pirstoutumista . levyhakemistojen sisällön hajaantuminen.
Jotkut näistä superlohkon ominaisuuksista sisälsivät raitojen ja sektoreiden lukumäärän, levyn pyörimisnopeuden, pään nopeuden. Täysin optimoidussa järjestelmässä päätä voidaan siirtää vierekkäisten raitojen välillä hajallaan olevien sektoreiden lukemiseksi lomitetuista raitakerroksista.
Kun levykoot ovat kasvaneet, optimointitaso on heikentynyt (erityisesti levyillä, jotka käyttävät lineaarisia numerointisektoreita ja muuttuvia sektoreita raitaa kohti). Levyjen ja tiedostojen lisääntyessä pirstoutuneiden kappaleiden lukeminen on vaikeutunut. Tämän torjumiseksi BSD kasvatti alun perin tiedostojärjestelmän lohkon koon yhdestä sektorista 1 kilotavuun 4.0BSD:ssä ja FFS:ssä 8 kilotavuun. Kiinteällä (bitti) lohkoleveydellä esitettävissä olevien lohkojen määrää on lisätty (resoluutio suurille levyille). Lohkon koon kasvaessa levyt, joissa on paljon pieniä tiedostoja, vievät paljon tilaa. Vapaan tilan tehottoman käytön ongelman ratkaisemiseksi UFS2-tiedostojärjestelmän FFS-kerrokseen lisättiin fragmenttitaso, joka on tapa käsitellä tietolohkon yksittäisiä osia - fragmentteja.
Jatkuvasti kasvavien levyasemien volyymien ja FreeBSD:n levytilan osoitteiden siirtymisen Advanced Formatin vuoksi tiedostojärjestelmän oletuslohkokoko on kasvatettu 16 kilotavusta 32 kilotavuun ja fragmenttikoko 2 kilotavusta 4 kilotavuun. Tämä optimointi paransi levyn I/O-toimintojen suorituskykyä levyasemissa, joiden kapasiteetti on noin 1 TB ja sektorin koko 4 kt. Suurin mahdollinen lohkokoko UFS2/FFS-tiedostojärjestelmässä on 64 kt.
Joidenkin kaupallisten Unix-järjestelmien, kuten Solaris , HP-UX ja Tru64 UNIX , käyttäjät ovat ottaneet käyttöön UFS:n. Useimmat heistä siirsivät järjestelmät UFS:ään ja lisäsivät omia lisäyksiä, jotka saattavat estää muiden UNIX-versioiden käyttäjiä tunnistamasta UFS:ää. Yllättäen monet heistä jatkavat alkuperäisen datalohkon koon ja lohkon leveyden käyttöä alkuperäisen UFS:n tapaan, joten jonkin verran alustojen välistä yhteensopivuutta säilyy. Toteutusten välinen yhteensopivuus on parhaimmillaankin epätäydellinen, ja se tulisi tutkia ennen käyttöä useilla alustoilla.
Solaris 7 : ssä Sun Microsystems sisälsi UFS Loggingin, joka toi tiedostojärjestelmän kirjaamisen UFS:ään. Solaris UFS sisälsi myös extrat suurille tiedostoille ja levyille. Solaris 10:stä alkaen käyttäjä voi valita joko UFS:n tai ZFS :n (Sun's Advanced File System) asennuksen yhteydessä. OpenSolarisissa UFS on kokonaan korvattu ZFS:llä .
4.4BSD- ja BSD - Unix-järjestelmät hajoavat. Järjestelmät kuten FreeBSD , NetBSD , OpenBSD ja DragonFlyBSD ilmestyivät . Syntyvät UFS1 ja UFS2, jotka ovat kolme kerrosta - yläkerros, joka tarjoaa hakemistorakenteen ja ylläpitää metatietoja (luvat, käyttöoikeudet jne.) rakenteen inodissa, ja 2 alempaa kerrosta, jotka mahdollistavat säiliötietojen esittämisen, kuten esim. inodeina. Tämä tehtiin tukemaan sekä perinteistä FFS:ää että LFS :ää . Yläkerrosta kutsutaan nimellä "UFS" ja alempia kerroksia "FFS" ja "LFS".
Kirk McKusick rakensi FreeBSD:n FFS:lle ja UFS:lle tukemaan uutta versiota nimeltä UFS2, joka lisää 64-bittisen lohkoosoittimen (sallii jopa 8 zettatavua ) vaihtelevalla lohkokoolla (samanlainen kuin EFS ), laajennetut lippukentät, laajennetun tukimääritteen ja POSIX1.e ACLm. UFS2:ta on oletusarvoisesti kutsuttu nimellä UFS FreeBSD 5.0:sta lähtien. FreeBSD teki myös joitain lisäyksiä ( Soft Updates ) ja mahdollisuuden luoda tiedostojärjestelmä UFS1:stä ja UFS2:sta. Pehmeät päivitykset on siirretty NetBSD:lle, mutta ne poistetaan NetBSD 6.0:sta. Sen sijaan käytetään vähemmän monimutkaista kirjausmekanismin tiedostojärjestelmää ( WAPBL ), joka lisättiin NetBSD 5.0:n FFS:lle. OpenBSD on tukenut ohjelmistopäivityksiä versiossa 2.9 [1] ja UFS2:ssa versiosta 4.2 lähtien [2] . Koska FreeBSD 7.0, UFS tukee myös kirjattua tiedostojärjestelmää käyttämällä gjournal GEOM -toimittajaa. FreeBSD 9.0 lisäsi päiväkirjanpidon tuen softupdates(SU+J) [3] päälle , mikä vähentää huomattavasti taustatiedostojärjestelmän tarkistusten tarvetta ja käyttää oletuksena NFS-tyylisiä ACL-luetteloita.
Linux tukee UFS:ää lukutasolla, mutta sillä ei ole täyttä tukea UFS:n kirjoittamiseen. Alkuperäinen Linuxin ext2 on mallinnettu UFS:n mukaan (joissakin 4.4BSD-järjestelmissä UFS-kerros voi käyttää ext2-kerrosta säilönä, aivan kuten se voi käyttää FFS:ää ja LFS:ää).
BSD:ltä peräisin oleva NeXTStep käyttää myös UFS-versiota. Applen Mac OS X : ssä UFS on saatavilla vaihtoehtona HFS+ :lle . Mac OS X 10.5 :stä lähtien et kuitenkaan voi asentaa Mac OS X "Leopardia" UFS-muotoiltuun osioon. Et myöskään voi päivittää UFS:ään asennettuja Mac OS X:n vanhempia versioita Leopardiksi. päivitys vaatii osion alustamisen uudelleen.
PlayStation 3 -pelikonsoli käyttää UFS2:ta kiintolevyllään. PlayStation 2 käyttää UFS:ää. [neljä]
R.saver- ohjelman avulla voit käyttää UFS-tiedostojärjestelmää Windows -käyttöjärjestelmäperheen sisällä .
Tiedostojärjestelmät ( luettelo , vertailu ) | |||||||
---|---|---|---|---|---|---|---|
Levy |
| ||||||
Hajautettu (verkko) | |||||||
Erityinen |
|