FuseFS फाइलसिस्टम का उपयोग करने के क्या लाभ और डाउनसाइड हैं?


19

मुझे पता है कि कुछ फाइल सिस्टम खुद को फ्यूज के माध्यम से पेश करते हैं और मैं इस दृष्टिकोण के पेशेवरों और विपक्षों के बारे में सोच रहा था।

जवाबों:


17

यदि आप वास्तविक, ऑन-डिस्क फाइल सिस्टम या किसी फाइल सिस्टम का मतलब रखते हैं तो मैं सकारात्मक नहीं हूं। मैंने कभी भी एक सामान्य फाइलसिस्टम का उपयोग नहीं देखा है FUSE, हालांकि मुझे लगता है कि यह संभव है; FUSE का मुख्य लाभ यह है कि आप एक फाइलसिस्टम की तरह दिखने वाले एप्लिकेशन (या उपयोगकर्ता) के लिए कुछ प्रस्तुत करते हैं, लेकिन वास्तव में आपके एप्लिकेशन में केवल तभी फ़ंक्शन कॉल करते हैं, जब उपयोगकर्ता किसी निर्देशिका में फ़ाइलों को सूचीबद्ध करने या नया बनाने जैसी चीजों को करने की कोशिश करता है। फ़ाइल। Plan9 अच्छी तरह से फाइलसिस्टम के माध्यम से सब कुछ सुलभ बनाने की कोशिश करने के लिए जाना जाता है, और /procछद्म-फाइलसिस्टम उनसे आता है; FUSE अनुप्रयोगों के लिए आसानी से उस पैटर्न का पालन करने का एक तरीका है

उदाहरण के लिए, यहाँ (बहुत ही सुविधाहीन) FUSE फाइल सिस्टम का स्क्रीनशॉट है जो SE साइट डेटा तक पहुँच देता है:

कार्रवाई में FUSE फाइल सिस्टम का स्क्रीनशॉट

स्वाभाविक रूप से उन फ़ाइलों में से कोई भी वास्तव में मौजूद नहीं है; जब lsमेरी प्रोग्राम है जो उपयोगकर्ता 73 के बारे में लोड जानकारी के लिए इस साइट के लिए एक एपीआई अनुरोध किया था में एक समारोह में कहा जाता निर्देशिका फ्यूज में फ़ाइलों की सूची के लिए कहा (मुझे); वास्तव में ऑन-डिस्क में मौजूद कुछ भी बिना मेमोरी से कैश किए गए डेटा को वापस करने वाले और अधिक फ़ंक्शन catको पढ़ने display_nameऔर website_urlकॉल करने की कोशिश कर रहा है


3
FAT , NTFS , iso9660 , ext2 , और अधिक के FUSE कार्यान्वयन हैं ।
गिल्स एसओ- बुराई को रोकना '

2
आप फ्यूज में लागू होने वाले भारी शुल्क फाइल सिस्टम पाएंगे: लेसएफएफ, ग्लस्टरएफएस, मूसफ। Google का GFS (POSIX नहीं) भी यूजरस्पेस में चलता है।
तोबू

आपको वह ऐप कहां से मिला?!?!
नाथन उस्मान

5
@ जॉर्ज मैंने इसे तब लिखा था जब मैं एसओ एपीआई के साथ खिलवाड़ कर रहा था। यह उपयोगकर्ताओं को छोड़कर किसी भी मार्ग का उपयोग नहीं करता है, इसलिए आप मूल रूप से उस स्क्रीनशॉट में सभी कार्यान्वित सुविधाओं को देख रहे हैं; यह सिर्फ देखने के लिए यह कितना मुश्किल होता था
माइकल Mrozek

5
@George मैं पर डाल दिया GitHub
माइकल Mrozek

19

यूनिक्स फाइल सिस्टम परंपरागत रूप से कर्नेल में लागू होते हैं। FUSE एक उपयोगकर्ता प्रोग्राम द्वारा फाइल सिस्टम को लागू करने की अनुमति देता है।

प्रोग्राम और डेटा के लिए मुख्य फाइल सिस्टम के लिए इन-कर्नेल फाइल सिस्टम बेहतर हैं:

  • उनका उपयोग बूट मीडिया पर किया जा सकता है (एक FUSE फाइल सिस्टम को लागू करने वाले कार्यक्रम को कहीं से लोड किया जाना है)।
  • वे अधिक मजबूत हैं, इस प्रक्रिया में वे दुर्घटनाग्रस्त होने या गलती से मारे जाने के कारण दूर नहीं जाएंगे।
  • वे कुछ तेज हैं।

FUSE फाइलसिस्टम के अन्य फायदे हैं, जो ज्यादातर उनके लचीलेपन के इर्द-गिर्द घूमते हैं:

  • उन्हें सामान्य उपयोगकर्ताओं द्वारा लोड और माउंट किया जा सकता है, इसलिए वे फ़ाइल सिस्टम के लिए सुविधाजनक हैं जो उपयोगकर्ता खुद से माउंट करते हैं: नेटवर्क एक्सेस के लिए, संग्रह फ़ाइलों के माध्यम से, हटाने योग्य मीडिया के लिए, आदि।
  • यदि कोई FUSE फ़ाइल सिस्टम ड्राइवर क्रैश हो जाता है, तो यह आपके कर्नेल को घबराहट नहीं करेगा: आप उन अनुप्रयोगों से I / O त्रुटियों से बदतर कुछ भी नहीं देखेंगे जो फ़ाइल सिस्टम तक पहुंच रहे थे।
  • उन्हें बहुत जल्दी प्रोग्राम किया जा सकता है; देखते हैं फ्यूज बाइंडिंग कई पटकथा भाषाओं जहां एक उपयोगी फ्यूज फाइल सिस्टम ड्राइवर कोड के कुछ सौ लाइनों में लिखा जा सकता है के लिए।
  • उन्हें बहुत तेज़ी से तैनात किया जा सकता है, क्योंकि उन्हें स्थापित करने के लिए प्रशासक के हस्तक्षेप की कोई आवश्यकता नहीं है और क्योंकि उन्हें आसानी से वायरलेस ओएस के बीच पोर्ट किया जा सकता है ।
  • कोई कर्नेल के साथ सांख्यिकीय रूप से जुड़े होने का कोई लाइसेंसिंग समस्या नहीं है (यह zfs को प्रभावित कर रहा है )।

7

FUSE वास्तव में प्रति फ़ाइल सिस्टम नहीं है, लेकिन कोड जो कर्नेल मॉड्यूल के बजाय फ़ाइल सिस्टम को प्रक्रियाओं के रूप में लागू करने की अनुमति देता है।

FUSE का सबसे उपयोगी लाभ गैर GPL के साथ GPL कोड को "मिक्स" करने की अनुमति देना है। उदाहरण के लिए, OpenSolaris और * BSD http://www.tuxera.com/community/ntfs-3g-download/ जैसे कई OS पर Gnu / Linux और ZFS http://zfs-fuse.net/ या NTFS-3G

मुख्य दोष मूल (कर्नेल) ड्राइवरों की तुलना में प्रदर्शन प्रभाव है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.