Tiedän, että jotkut tiedostojärjestelmät esittävät itseään sulakkeen kautta ja mietin tämän lähestymistavan etuja ja haittoja.
Vastaa
En ole positiivinen, jos tarkoitat todellisia, levyllä olevia tiedostojärjestelmiä tai mitä tahansa tiedostojärjestelmää. En ole koskaan nähnyt normaalin tiedostojärjestelmän käyttävän FUSE-laitetta, vaikka luulen senkin olevan s mahdollista; FUSE: n tärkein etu on, että sen avulla voit esittää sovelluksille (tai käyttäjälle) jotain, joka näyttää tiedostojärjestelmältä, mutta oikeastaan vain kutsuu sovelluksen toimintoja, kun käyttäjä yrittää tehdä esimerkiksi luetteloida tiedostot hakemistoon tai luo uusi tiedosto. Plan9 tunnetaan hyvin siitä, että se yrittää tehdä kaikesta saataville tiedostojärjestelmän kautta, ja /proc
näennäinen -tiedostojärjestelmä tulee heiltä; FUSE on tapa, jolla sovellukset voivat helposti seurata kyseistä mallia.
Esimerkiksi tässä on kuvakaappaus (hyvin erikoisesta) FUSE-tiedostojärjestelmästä, joka antaa pääsyn SE-sivuston tietoihin:
Luonnollisesti mitään näistä tiedostoista ei ole olemassa; kun ls
pyysi tiedostoluetteloa hakemistossa FUSE kutsui toiminnon ohjelmassani, joka pyysi API: ta tälle sivustolle lataamaan tietoja käyttäjästä 73 (minä); cat
yrittää lukea display_name
ja website_url
kutsui lisää toimintoja, jotka palauttivat välimuistitiedot muisti, ilman mitään levyllä olevaa olemassa olevaa
kommenttia
- FAT: n FUSE-toteutuksia on , NTFS , iso9660 , ext2 ja lisää .
- Löydät sulakkeessa toteutetut raskaat tiedostojärjestelmät: LessFS, GlusterFS, MooseFS . Google ' s GFS (ei POSIX) toimii myös käyttäjätilassa.
- Mistä löysit sovelluksen?!?!
- @George Kirjoitin sen, kun sekaisin SO API: ta. Se ei ' t käytä mitään reittejä paitsi / users, joten ' näet periaatteessa kaikki kuvakaappauksessa esitetyt ominaisuudet; se oli vain nähdä kuinka vaikea se olisi
- @George laitoin sen github
vastaus
Unix-tiedostojärjestelmät on perinteisesti toteutettu ytimessä. FUSE sallii käyttäjäohjelman toteuttaa tiedostojärjestelmät.
Ytimen sisäiset tiedostojärjestelmät soveltuvat paremmin ohjelmien ja tietojen päätiedostojärjestelmiin:
- Niitä voidaan käyttää käynnistystietovälineissä (FUSE-tiedostojärjestelmän toteuttava ohjelma on ladattava jostakin).
- Ne ovat vahvempia, koska ne eivät voittaneet menevät pois prosessin kaatumisen tai vahingossa tapahtuvan tappamisen vuoksi.
- Ne ovat jonkin verran nopeammin.
FUSE-tiedostojärjestelmillä on muita etuja, lähinnä niiden joustavuuden ympärillä:
- Tavalliset käyttäjät voivat ladata ja liittää ne, joten ne ovat käteviä tiedostojärjestelmille, jotka käyttäjät yleensä asentavat itse: verkkoon pääsyyn, arkistotiedostojen läpi käymiseen, siirrettävään tietovälineeseen jne. .
- Jos FUSE-tiedostojärjestelmän ohjain kaatuu, se ei paniikkia ytimessäsi: et näe mitään pahempaa kuin I / O-virheet sovelluksissa, jotka käyttivät tiedostojärjestelmää.
- Ne voidaan ohjelmoida hyvin nopeasti; monille komentosarjakielille on FUSE-sidokset , joihin hyödyllinen FUSE-tiedostojärjestelmäohjain voidaan kirjoittaa muutamalla sadalla rivillä koodia.
- Ne voivat voidaan ottaa käyttöön erittäin nopeasti, koska niiden asentamiseen ei tarvita järjestelmänvalvojan toimia, ja koska ne voidaan helposti siirtää tuettujen käyttöjärjestelmien välillä .
- Staattiseen linkittämiseen ytimeen ei ole lisensointiongelmia (tämä vaikuttaa zfs ).
Vastaa
SULAKE ei oikeastaan ole tiedostojärjestelmä sinänsä, mutta koodi, jonka avulla tiedostojärjestelmät voidaan toteuttaa prosesseina ytimen moduulien sijaan.
Yksi FUSEn hyödyllisimmistä eduista on sallia GPL-koodin ”sekoittuminen” muun kuin GPL: n kanssa. Esimerkiksi Gnu / Linux ja ZFS http://zfs-fuse.net/ tai NTFS-3G monissa käyttöjärjestelmissä, kuten OpenSolaris ja * BSD http://www.tuxera.com/community/ntfs-3g-download/
Tärkein haittapuoli on suorituskyky verrattuna alkuperäisiin (ytimen) ohjaimiin.