2011-12-16 17 views
16

फ़ाइल सिस्टम ब्लॉक आकार का महत्व क्या है? यदि मेरा फाइल सिस्टम ब्लॉक आकार 8K पर सेट किया गया है तो इसका मतलब यह है कि सभी पढ़ने/लिखने I/O आकार 8K पर होगा? तो अगर मेरा आवेदन पढ़ना चाहता है तो 40 9 0 ऑफसेट पर 16 बाइट्स कहें तो ऑफसेट 4096 से शुरू होने वाला 4K ब्लॉक पढ़ा जाएगा?फ़ाइल सिस्टम ब्लॉक आकार

इस मामले में कैसे काम लिखते हैं? मान लीजिए कि मैं 64 बाइट्स लिखना चाहता हूं।

उत्तर

0

आम तौर पर जब आपको प्रोग्रामिंग में फ़ाइलों से निपटना होता है तो आपको स्ट्रीम एब्स्ट्रक्शन का उपयोग करना चाहिए। कोड के माध्यम से I/O संचालन अक्सर पढ़ता है और धाराओं को लिखता है; पढ़ने और लिखने और स्ट्रीम करने के लिए, buffered किया जा सकता है ताकि फ़ाइल के हिस्सों को पढ़ या लिखा जा सके।

एफएस पर ब्लॉक आकार डिस्क सतह मैपिंग को संदर्भित करता है; एकल ब्लॉक के आकार में मामूली ब्लॉक ब्लॉक की संख्या (और इसलिए तालिका में तत्व जो फाइलों के आवंटन पर जानकारी रखता है)।

तो ओएस का ब्लॉक ब्लॉक आकार पर आधारित डिस्क पर फ़ाइल को मैप कर सकता है और इसमें "फाइलों का नक्शा" छोटा हो सकता है। जैसा कि मुझे पता है यह एपीआई प्रोग्रामिंग भाषा में स्ट्रीम अबास्ट्रक्शन को प्रभावित नहीं करता है।

+0

मेरा प्रश्न यह समझने के लिए और अधिक था कि फाइल सिस्टम कैसे काम करते हैं और वे ब्लॉक डिवाइस से कैसे बातचीत करते हैं। उस संदर्भ में ब्लॉक आकार का महत्व क्या है। – user880946

+0

http://en.wikipedia.org/wiki/File_system#Space_management। डिस्क क्लस्टर (क्षेत्रों के समूह) और जिन ब्लॉकों की हम बात कर रहे हैं, वे एक ही अवधारणा को संदर्भित करते हैं। –

16

आप सही हैं। फाइल सिस्टम के लिए ब्लॉक आकार कार्य की इकाई है। प्रत्येक पढ़ने और लिखना ब्लॉक आकार के पूर्ण गुणकों में किया जाता है।

ब्लॉक आकार फ़ाइल पर डिस्क पर सबसे छोटा आकार भी है। यदि आपके पास 16 बाइट ब्लॉक आकार है, तो 16 बाइट आकार वाले फ़ाइल में डिस्क पर एक पूर्ण ब्लॉक है।

पुस्तक "Practical file system design" कहता है:

ब्लॉक: एक डिस्क या इंटरनेट le प्रणाली द्वारा सबसे छोटी इकाई लिखने योग्य। सब कुछ फाई ली सिस्टम ब्लॉक पर किए गए संचालन से बना है। एक फाई सिस्टम ब्लॉक डिस्क ब्लॉक आकार की तुलना में हमेशा समान आकार या पूर्ण (पूर्णांक गुणकों में) होता है।

संबंधित मुद्दे