Tudom, hogy egyes fájlrendszerek a Fuse révén mutatják be magukat, és kíváncsi voltam ennek a megközelítésnek az előnyeire és hátrányaira.

Válasz

Nem vagyok pozitív, ha valódi, lemezen lévő fájlrendszerre vagy bármilyen fájlrendszerre gondolsz. Soha nem láttam, hogy egy normál fájlrendszer FUSE-t használna, bár feltételezem, hogy ” lehetséges; a FUSE legfőbb előnye, hogy lehetővé teszi, hogy valamit bemutasson az alkalmazásoknak (vagy a felhasználónak), ami fájlrendszerre hasonlít, de valójában csak az alkalmazáson belüli funkciókat hívja meg, amikor a felhasználó megpróbál olyan dolgokat végrehajtani, mint a fájlok felsorolása egy könyvtárba vagy hozzon létre egy új fájlt. A Plan9 ismert arról, hogy mindent megpróbál a fájlrendszeren keresztül hozzáférhetővé tenni, és a /proc ál -fájlrendszer tőlük származik; A FUSE segítségével az alkalmazások könnyen követhetik ezt a mintát.

Például itt látható egy (nagyon jellegtelen) FUSE fájlrendszer képernyőképe, amely hozzáférést biztosít az SE webhely adataihoz:

Képernyőkép a FUSE fájlrendszer működéséről

Természetesen egyik fájl sem létezik; amikor ls a FUSE könyvtár fájljainak listáját kérte, a programomban meghívott egy függvényt, amely API-t kért erre a webhelyre, hogy információkat töltsön be a 73 (me) felhasználóról; cat olvasni próbál a display_name és website_url fájlokból, amelyek további funkciókat hívtak meg, amelyek a memória, bármi tényleges létezés nélkül a lemezen.

Megjegyzések

  • A FAT FUSE megvalósításai léteznek , NTFS , iso9660 , ext2 , és további .
  • Megtalálja a biztosítékban megvalósított nagy teljesítményű fájlrendszereket: LessFS, GlusterFS, MooseFS . A Google ' s GFS (nem POSIX) szintén a felhasználói térben fut.
  • Hol találta meg azt az alkalmazást?!?!
  • @George Akkor írtam, amikor a SO API-val kavarogtam. ' nem használ semmilyen útvonalat, kivéve a / felhasználókat, tehát ' alapvetően az összes megvalósított funkciót látja az adott képernyőképen; csak látni kellett, milyen nehéz lesz
  • @George feltettem github

Válasz

A kernelben hagyományosan a Unix fájlrendszereket valósítják meg. A FUSE lehetővé teszi a fájlrendszerek felhasználói program általi megvalósítását.

A rendszermag fájlrendszerei jobban megfelelnek a programok és adatok fő fájlrendszereinek:

  • Indító adathordozókon használhatók (a FUSE fájlrendszert megvalósító programot valahonnan be kell tölteni).
  • Robusztusabbak, mivel nem nyertek t elmúlik egy folyamat összeomlása vagy tévedés útján történő megölése miatt.
  • Ezek valamivel gyorsabbak.

A FUSE fájlrendszereknek más előnyei is vannak, főleg a rugalmasságuk körül forogva:

  • Közönséges felhasználók betölthetik és felcsatolhatják őket, így kényelmesek azoknak a fájlrendszereknek a számára, amelyeket a felhasználók általában maguk telepítenek: hálózati hozzáféréshez, archív fájlok áttekintéséhez, cserélhető adathordozókhoz stb. .
  • Ha egy FUSE fájlrendszer-illesztőprogram összeomlik, az nem fogja pánikba tenni a kernelt: semmi rosszabbat nem fog látni, mint az I / O hibákat azokban az alkalmazásokban, amelyek hozzáfértek a fájlrendszerhez.
  • Ők nagyon gyorsan beprogramozható; sok szkriptnyelvhez vannak FUSE összerendelések , ahol egy hasznos FUSE fájlrendszer-illesztőprogram néhány száz kódsorban írható.
  • Tudnak nagyon gyorsan telepíthetők, mind azért, mert nincs szükség rendszergazdai beavatkozásra a telepítésükhöz, másrészt azért, mert könnyen át lehet őket hordozni támogatott operációs rendszerek között .
  • A kernellel való statikus összekapcsoláshoz nincsenek licencelési problémák (ez a zfs fájlt érinti).

Válasz

A FUSE nem önmagában fájlrendszer, hanem olyan kód, amely lehetővé teszi a fájlrendszerek kernelmodulok helyett folyamatként történő megvalósítását.

A FUSE egyik leghasznosabb előnye, hogy lehetővé teszi a GPL kód keverését a nem GPL kóddal. Például Gnu / Linux és ZFS http://zfs-fuse.net/ vagy NTFS-3G számos operációs rendszeren, például az OpenSolaris és a * BSD http://www.tuxera.com/community/ntfs-3g-download/

A fő hátrány a teljesítmény hatása a natív (kernel) meghajtókhoz képest.

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük