हम कभी-कभी उन लोगों को संदर्भित करते हैं filesystems
, क्योंकि कभी-कभी वे निर्देशिकाएं माउंट पॉइंट्स होती हैं। आपके द्वारा पूछे गए एकमात्र प्रश्न के लिए इतना ...
filesystem
दो अलग-अलग चीजों को संदर्भित कर सकते हैं ... या वास्तव में एक ही चीज के दो बहुत अलग पहलू:
- तार्किक संरचना का उपयोग भंडारण माध्यम पर डेटा को व्यवस्थित करने के लिए किया जाता है।
- ओएस द्वारा उपयोग की जाने वाली कार्यप्रणाली डेटा को एकीकृत पहुंच प्रदान करने के लिए प्रक्रियाओं का उपयोग करती है।
फ़ाइलों और निर्देशिकाओं की अवधारणा एक रूपक है। एक कंप्यूटर के लिए केवल डेटा है और सभी मीडिया कुछ भी नहीं है, लेकिन डिवाइस जो डेटा पकड़ सकते हैं। कुछ डिवाइस डेटा को पढ़ने और लिखने की अनुमति देते हैं (उदाहरण के लिए एचडीडी), अन्य डिवाइस केवल रीडिंग डेटा (जैसे सीडी-रॉम) की अनुमति देते हैं और यहां तक कि ऐसे डिवाइस भी हैं जो केवल लेखन डेटा (जैसे प्रिंटर) की अनुमति देते हैं। हम डेटा की संरचना करने के लिए फ़ाइल और निर्देशिका रूपक का उपयोग करते हैं, ताकि हम एक ही समय में सब कुछ के बजाय डेटा के छोटे हिस्से तक पहुंच सकें।
फाइलसिस्टम हम स्टोरेज मीडिया पर रखते हैं, जैसे ext4, xfs, fat स्ट्रक्चरिंग पार्ट करते हैं। हम उनका उपयोग डेटा (फ़ाइलों) के टुकड़ों पर लेबल लगाने और सभी लेबल (निर्देशिकाओं) की एक सुसंगत संरचित सूची रखने के लिए करते हैं। संरचित सूची वास्तव में एक पेड़ है। सबसे महत्वपूर्ण पहलू यह है कि एक पेड़ की एक शुरुआत होती है, उसकी जड़। इस संरचना को बनाए रखना और डेटा सुनिश्चित करना और सुलभ रहना काफी काम है, यही वजह है कि फाइलसिस्टम का सिर्फ एक स्वाद नहीं है।
फाइलसिस्टम का दूसरा पहलू यह है कि सभी प्रोग्रामों में डेटा को स्टोरेज डिवाइस पर स्टोर करना ओएस का काम है। यह दो चीजों से पूरा होता है:
OS फाइलों और निर्देशिकाओं तक पहुँचने और बातचीत करने के लिए सटीक (प्रोग्रामिंग) इंटरफ़ेस प्रदान करता है। प्रोग्राम / प्रोसेस के लिए यह मायने नहीं रखता कि स्टोरेज डिवाइस पर फाइलसिस्टम एक्स 2, एक्सएफएस, फैट या जो कुछ भी है। Progams / प्रक्रियाओं फ़ाइलों और निर्देशिकाओं को एक समान तरीके से एक्सेस करता है।
ओएस सभी स्टोरेज मीडिया, अर्थात उनके फाइल सिस्टम को एक सुपरऑर्डिनेट संरचना में व्यवस्थित करता है। प्रोग्राम इस सुपरऑर्डिनेट संरचना के माध्यम से फ़ाइलों और निर्देशिकाओं तक पहुँचते हैं और सीधे स्टोरेज डिवाइस के साथ बातचीत करने की आवश्यकता नहीं होती है। इस तरह से प्रोग्राम को इस बात की परवाह नहीं करनी चाहिए कि डेटा वास्तव में किस डिवाइस पर रहता है। इस सुपरऑर्डिनेट संरचना को अक्सर कर्नेल के "वर्चुअल फाइलसिस्टम" के रूप में संदर्भित किया जाता है।
वर्चुअल फाइल सिस्टम में स्टोरेज डिवाइस के फाइलसिस्टम को जोड़ने को फाइलसिस्टम "माउंटिंग" कहा जाता है। जब आपका लिनक्स कर्नेल शुरू कर रहा है तो वर्चुअल फाइलसिस्टम (VFS) बनाता है। निर्माण के ठीक बाद यह खाली है और इसमें केवल इसके प्रवेश बिंदु हैं, इसकी जड़ उर्फ अंकित है /
। तब कर्नेल VFS के मूल में एक फाइल सिस्टम को मापता है। यह या तो एक रैमडिस्क है या हार्ड ड्राइव पर विभाजन पर तुरंत एक फाइल सिस्टम है। चूंकि इसे VFS की जड़ में जोड़ा जाता है इसलिए इस विभाजन को अक्सर रूट फाइल सिस्टम के रूप में संदर्भित किया जाता है।
अब यहाँ वह हिस्सा आता है जहाँ लाइनें धुंधली हो जाती हैं और हम देखते हैं कि स्टोरेज डिवाइसों पर फाइलसिस्टम और कर्नेल के VFS वास्तव में एक ही OS कार्य के दो पहलू हैं: रूट फाइल सिस्टम के बढ़ते जाने के साथ, VFS में कई फाइलें और निर्देशिकाएं होती हैं, जिनमें से सभी रूट विभाजन पर मौजूद है। हालाँकि, हर निर्देशिका एक "माउंट पॉइंट" बन सकती है। एक माउंट बिंदु वह जगह है जहां VFS एक स्टोरेज डिवाइस पर फाइल सिस्टम में प्रवेश बिंदु डालता है। इसका मतलब यह है कि जब भी हम किसी डायरेक्टरी पर फाइल सिस्टम को माउंट करते हैं, तो हम वीएफएस को बताते हैं कि उस डायरेक्टरी में स्टोर किए गए डेटा तक पहुंचने के बजाय, हम डेटा को एक अलग स्टोरेज डिवाइस पर एक्सेस करेंगे। माउंट पॉइंट्स आमतौर पर खाली निर्देशिकाएं होती हैं, जिससे हम शीर्ष पर अन्य फाइल सिस्टमों को माउंट करके डेटा को अस्वीकार्य नहीं बनाते हैं।
जब आप अपना ओएस स्थापित करते हैं तो यह आपके ऊपर होता है कि क्या आप एक फाइल सिस्टम पर सभी डेटा डालना चाहते हैं जो तब आपका रूट फाइल सिस्टम बन जाता है, या आप अपने डेटा को कई फाइल सिस्टम के बीच विभाजित करना चाहते हैं। बाद के लिए आपके ओएस को सभी डेटा को सुलभ बनाने के लिए, सभी व्यक्तिगत फाइल सिस्टम को माउंट करने की आवश्यकता होती है। आप चीजों को कैसे विभाजित करते हैं यह एक सवाल है कि आप अपने सिस्टम को कैसे डिजाइन करते हैं। यही कारण है कि कभी-कभी आपके इंस्टॉलेशन से जो निर्देशिका आप जानते हैं, उन्हें फाइल सिस्टम के रूप में संदर्भित किया जाता है।
कंप्यूटर के लिए हमारे पास आमतौर पर आपके इंस्टॉलेशन को कई फाइल सिस्टम में विभाजित करने की आवश्यकता नहीं होती है। फिर भी ऐसा करने के अच्छे कारण हो सकते हैं, लेकिन यह इस पद के दायरे से बाहर है।
इस पोस्टिंग के शेष को कम रखने के लिए: विभाजन भंडारण उपकरणों पर डेटा को संरचित करने का एक और साधन है। विभाजन के साथ, एक भौतिक भंडारण उपकरण से सन्निहित भंडारण स्थान को बाहर निकालता है और इन्हें ओएस के लिए व्यक्तिगत भंडारण उपकरणों के रूप में प्रदान करता है (जिस पर कोई VFS में माउंट करने के लिए फाइल सिस्टम डाल सकता है)। ऐसा करने का एक कारण यह हो सकता है कि किसी के पास केवल एक हार्ड ड्राइव है, लेकिन कई अलग-अलग फाइल सिस्टम को नियोजित करना चाहता है। जिस विभाजन पर रूट फाइल सिस्टम रहता है, उसे अक्सर रूट विभाजन के रूप में संदर्भित किया जाता है।