UNIX फाइल सिस्टम में निर्देशिका संरचनाएं कैसे संग्रहीत की जाती हैं?


8

मैंने पढ़ा है कि प्रत्येक निर्देशिका फ़ाइल नाम और इनोड जोड़े की सूची का उपयोग करके अपनी सामग्री (फाइल और उपनिर्देशिका) को संग्रहीत करती है। लेकिन किसी भी संदर्भ में मुझे कुछ नहीं मिला कि वे कैसे संग्रहीत हैं।

क्या वे एक सामान्य फ़ाइल की तरह डेटा ब्लॉक का उपयोग कर, या शायद अन्य तरीकों का उपयोग कर रहे हैं जिनके बारे में मुझे जानकारी नहीं है?

स्पष्टीकरण के लिए धन्यवाद।


यूनिक्स फ़ाइलों को कैसे संग्रहीत करता है, इसका कोई एकल तरीका नहीं है। विंडोज़ की फाइलों को स्टोर करने का कोई एक तरीका नहीं है। दोनों ही मामलों में यह इस्तेमाल की गई फाइल सिस्टम पर निर्भर करता है। (एफएटी, एनटीएफएस, एक्सटी 2, यूएफएस, ...)
हेन्स

फाइलसिस्टम के लिए डिस्क पर निर्देशिका संरचना dirent.h में परिभाषित की गई है, और आपको सामग्री तक पहुंचने के लिए libcalls opendir / readdir / shutir आदि का उपयोग करना चाहिए।
ott--

जवाबों:


10

फ़ाइल सिस्टम इंटर्नल देखें जो एक सामान्य यूनिक्स फाइलसिस्टम के आंतरिक तरीके से सरल तरीके से रेखांकित करता है।

यहां छवि विवरण दर्ज करें

अधिकांश यूनिक्स फाइलसिस्टम हैं

  • एक बूट ब्लॉक
  • सुपरब्लॉक (डिस्क ज्यामिति, विभाजन लेआउट, इनोड गणना, आदि)
  • इनकोड ब्लॉक
  • डेटा ब्लॉक

आधुनिक फाइलसिस्टम में अतिरिक्त संरचनाएं होती हैं।

सुपरब्लॉक में चीजों में से एक रूट डायरेक्टरी के लिए इनोड्स का स्थान है।

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

आप इसे लिनक्स डॉक्यूमेंटेशन प्रोजेक्ट: फाइलसिस्टम में देख सकते हैं

यहां छवि विवरण दर्ज करें

आप debugfsइन संरचनाओं का पता लगाने के लिए उपयोग कर सकते हैं ।


2
"एक निर्देशिका एक विशेष रूप से स्वरूपित फ़ाइल है। सभी सामान्य फ़ाइलों के साथ, इसमें डेटा ब्लॉक हैं।" तो क्या निर्देशिका उनके डेटा ब्लॉकों में उनके फ़ाइल नाम-इनोड जोड़े (पहली तस्वीर पर बाईं ओर की तालिका, या दूसरी तस्वीर में पंक्ति) संग्रहीत हैं?
ओका

1
@ ओका: यह सही है।
RedGrittyBrick

तो, स्पष्ट होने के लिए, निर्देशिका एक फ़ाइल है, इसलिए इसे डेटा ब्लॉक में संग्रहीत किया जाता है। ext4उदाहरण के लिए फाइलसिस्टम में प्रत्येक निर्देशिका (जो ext4_dir_entry_2263 बाइट्स द्वारा दर्शाई गई है) एक एकल 4KB ब्लॉक में 15 निर्देशिका प्रविष्टियों को संग्रहीत किया जा सकता है?
कैम्पस्कैसियानो
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.