ब्लॉक आकार और क्लस्टर आकार के बीच अंतर


20

मुझे ब्लॉक आकार और क्लस्टर आकार से संबंधित एक प्रश्न मिला है। इस बारे में कि मैंने जो पढ़ा है, उसके बारे में मैं निम्नलिखित मानता हूं:

  • ब्लॉक आकार एक ब्लॉक का भौतिक आकार है, जिसमें ज्यादातर 512 बाइट्स हैं। इसे बदलने का कोई तरीका नहीं है।
  • क्लस्टर आकार एक ब्लॉक का न्यूनतम आकार है जो ओएस द्वारा पढ़ा और लिखने योग्य है। यदि मैं एक नया फाइलसिस्टम बनाता हूँ जैसे ext3, मैं स्विच-बी के साथ इस न्यूनतम ब्लॉक आकार को निर्दिष्ट कर सकता हूं। डंप 2 एफए, एमके 2 एफए जैसे लगभग सभी प्रोग्राम क्लस्टर आकार के लिए एक नाम के रूप में ब्लॉक आकार का उपयोग करते हैं।

अगर मुझे निम्न आउटपुट मिला है:

$ stat test
File: `test'
Size: 13            Blocks: 4          IO Block: 2048   regular file
Device: 700h/1792d  Inode: 15          Links: 1

क्या यह सही है कि आकार बाइट्स में वास्तविक स्थान है, ब्लॉक शारीरिक रूप से उपयोग किए जाने वाले ब्लॉक हैं (प्रत्येक के लिए 512 बाइट्स) और एफएस बनाते समय IO ब्लॉक निर्दिष्ट ब्लॉक आकार से संबंधित हैं?

जवाबों:


26

मुझे लगता है कि आप भ्रमित हैं, संभवतः क्योंकि आपने कई दस्तावेज़ पढ़े हैं जो विभिन्न शब्दावली का उपयोग करते हैं। "ब्लॉक आकार" और "क्लस्टर आकार" जैसी शर्तों का एक सार्वभौमिक अर्थ नहीं है, यहां तक ​​कि फाइलसिस्टम साहित्य के संदर्भ में भी।

फ़ाइल सिस्टम

के लिए ext2 या ext3 , स्थिति अपेक्षाकृत सरल है: प्रत्येक फ़ाइल की एक निश्चित संख्या पर ब्लॉक । किसी दिए गए फाइल सिस्टम पर सभी ब्लॉकों का आकार समान होता है, आमतौर पर 1024, 2048 या 4096 बाइट्स में से एक। एक फ़ाइल A जिसका आकार N ब्लॉक और एक बाइट के बीच है और N + 1 ब्लॉक N + 1 ब्लॉक पर है। वह ब्लॉक आकार है जिसे आप निर्दिष्ट करते हैं mke2fs -b। गुच्छों की कोई अलग धारणा नहीं है।

फैट MS-DOS और Windows के प्रारंभिक संस्करणों द्वारा विशेष रूप से इस्तेमाल किया फाइल सिस्टम एक इसी तरह सरल स्थान आवंटन है। क्या ext2 कॉल ब्लॉक, FAT कॉल क्लस्टर ; अवधारणा एक ही है।

कुछ फाइल सिस्टम में एक अधिक परिष्कृत आवंटन योजना होती है: उनके पास निश्चित आकार के ब्लॉक होते हैं, लेकिन एक ही ब्लॉक का उपयोग एक से अधिक फ़ाइल के अंतिम कुछ बाइट्स को संग्रहीत करने के लिए कर सकते हैं। इसे ब्लॉक सबलोकेशन के रूप में जाना जाता है ; Reiserfs और Btrfs इसे करते हैं, लेकिन ext3 या ext4 भी नहीं।

उपयोगिताएँ

यूनिक्स उपयोगिताओं अक्सर "ब्लॉक" शब्द का उपयोग करने के लिए एक मनमाने ढंग से आकार इकाई, आमतौर पर 512 बाइट्स या 1kB का मतलब है। यह उपयोग किसी विशेष फाइलसिस्टम या डिस्क हार्डवेयर से असंबंधित है। ऐतिहासिक रूप से, 512B ब्लॉक के बारे में अक्सर आता था क्योंकि 512B हिस्सा अक्सर संचालित होता था, लेकिन आधुनिक उपयोग सिर्फ मनमाना है। पारंपरिक यूनिक्स उपयोगिताओं और इंटरफेस अभी भी कभी-कभी 512B ब्लॉकों का उपयोग करते हैं, हालांकि 1kB ब्लॉक अब अक्सर पसंद किए जाते हैं । आपको यह जानने के लिए प्रत्येक उपयोगिता के दस्तावेज की जांच करनी होगी कि वह किस आकार के ब्लॉक का उपयोग कर रहा है (कुछ में स्विच, उदा du -Bया df -Bलिनक्स पर)।

जीएनयू / लिनक्स statउपयोगिता में, blocksआंकड़ा फ़ाइल द्वारा उपयोग किए जाने वाले 512B ब्लॉकों की संख्या है। यह IO Blockफ़ाइल इनपुट-आउटपुट के लिए पसंदीदा आकार है, जो सिद्धांत रूप में असंबंधित है, लेकिन आमतौर पर अंतर्निहित फाइल सिस्टम के ब्लॉक आकार (या क्लस्टर आकार यदि आप इसे कॉल करना चाहते हैं) का संकेत है। यहां, आपके पास एक 13-बाइट फ़ाइल है, जो 2048 के ब्लॉक आकार के साथ ext3 फाइल सिस्टम पर एक ब्लॉक पर कब्जा कर रही है; इसलिए फाइल 4 512-बाइट इकाइयों (जिसे "ब्लॉक" कहा जाता है stat) पर कब्जा कर लेता है ।

डिस्क

अधिकांश डिस्क एक इंटरफ़ेस प्रस्तुत करते हैं जो डिस्क को सेक्टरों के एक समूह के रूप में दिखाता है । डिस्क केवल एक पूरे सेक्टर को लिख या पढ़ सकती है, न कि व्यक्तिगत बिट्स या बाइट्स को। अधिकांश हार्ड डिस्क में 512-बाइट सेक्टर होते हैं, हालांकि 4kB- सेक्टर डिस्क कुछ साल पहले दिखाई देने लगे थे।

डिस्क सेक्टर का आकार सीधे फाइलसिस्टम ब्लॉक आकार से संबंधित नहीं है, लेकिन एक ब्लॉक होने के लिए कई क्षेत्रों में प्रदर्शन के लिए बेहतर है।

Sp अपवाद: विरल फाइलें अंतरिक्ष को बचाती हैं।


2
अपना स्पष्टीकरण के लिए धन्यवाद। खिड़कियों के लिए ext2fsd उपकरण के कारण इस तरह के भ्रम के कारण मैं यहां पहुंचा। उनके कमांड लाइन विकल्प शुरू होते हैं: ageUsage: mke2fs [-c | -l फ़ाइल का नाम] [-b ब्लॉक-आकार] [-C क्लस्टर-आकार] ..., ठीक है, आप देखें, दोनों ब्लॉक और क्लस्टर आकार ...
बर्नहार्ड हिलर

मुझे यह जानने में भी दिलचस्पी है कि mke2fs के ब्लॉक-साइज़ और क्लस्टर-साइज़ में क्या अंतर है। क्या कोई जानता है ?
X.LINK

1
@ X.LINK यह मैन पेज में समझाया गया है। क्लस्टर आकार का उपयोग बिगलैकॉक सुविधा द्वारा किया जाता है , जिसे अगर मैं सही ढंग से समझता हूं तो अधिक बर्बाद हुए भंडारण की कीमत पर बड़ी फ़ाइलों तक तेजी से पहुंच होती है।
गिलेस एसओ- बुराई को रोकना '
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.