यह आंशिक रूप से ऐतिहासिक कारणों से है, और आंशिक रूप से क्योंकि यह इस तरह से अधिक समझ में आता है।
मॉलटिक्स
मल्टिक्स पहले ऑपरेटिंग सिस्टम था, जो पदानुक्रमित फाइल सिस्टम को पेश करता था जैसा कि हम आज जानते हैं, इसमें निर्देशिकाओं को शामिल किया जा सकता है। RC Daley और PG Neumann द्वारा "माध्यमिक भंडारण के लिए एक सामान्य प्रयोजन फाइल सिस्टम" का हवाला देते हुए :
कागज की धारा 2 फाइलों की पदानुक्रमित संरचना प्रस्तुत करती है, जो सिस्टम के लचीले उपयोग की अनुमति देती है। इस संरचना में बहुमुखी प्रतिभा को आश्वस्त करने के लिए पर्याप्त क्षमताएं हैं। (...)
समझने में आसानी के लिए, फ़ाइल संरचना को फ़ाइलों के एक पेड़ के रूप में सोचा जा सकता है, जिनमें से कुछ निर्देशिकाएं हैं। यही है, एक अपवाद के साथ, प्रत्येक फ़ाइल (जैसे, प्रत्येक निर्देशिका) खुद को सीधे एक ही निर्देशिका में एक शाखा द्वारा सीधे इंगित करती है। अपवाद पेड़ की जड़ में मूल निर्देशिका, या जड़ है। हालांकि यह स्पष्ट रूप से किसी भी निर्देशिका से इंगित नहीं किया गया है, जड़ को एक काल्पनिक शाखा द्वारा इंगित किया गया है जो फ़ाइल सिस्टम के लिए जाना जाता है। (...)
किसी भी समय, किसी उपयोगकर्ता को किसी एक निर्देशिका में काम करने के लिए माना जाता है, जिसे उसकी कार्यशील निर्देशिका कहा जाता है। वह अपनी कार्य निर्देशिका में प्रविष्टि द्वारा निर्दिष्ट नाम से निर्दिष्ट फ़ाइल द्वारा प्रभावी रूप से बताई गई फ़ाइल तक पहुँच सकता है। एक समय में एक से अधिक उपयोगकर्ता के पास एक ही कार्यशील निर्देशिका हो सकती है।
जैसा कि कई अन्य पहलुओं में, मल्टिक्स ने लचीलापन मांगा। उपयोगकर्ता फ़ाइल सिस्टम के एक उप-भाग में काम कर सकते हैं और बाकी को अनदेखा कर सकते हैं, और फिर भी अपनी फ़ाइलों को व्यवस्थित करने के लिए निर्देशिकाओं से लाभ उठा सकते हैं। अभिगम नियंत्रण के लिए भी निर्देशिकाएँ का उपयोग किया गया था - READ विशेषता ने उपयोगकर्ताओं को एक निर्देशिका में फ़ाइलों को सूचीबद्ध करने की अनुमति दी, और EXECUTE विशेषता ने उपयोगकर्ताओं को उस निर्देशिका में फ़ाइलों का उपयोग करने की अनुमति दी (यह कई अन्य सुविधाओं की तरह, यूनिक्स में रहते थे)।
मल्टीिक्स ने एकल भंडारण पूल के सिद्धांत का भी पालन किया। कागज इस पहलू पर ध्यान केंद्रित नहीं करता है। एक एकल भंडारण पूल उस समय के हार्डवेयर के साथ एक अच्छा मेल था: कोई हटाने योग्य भंडारण उपकरण नहीं थे, कम से कम कोई भी ऐसा नहीं होगा जिसके बारे में उपयोगकर्ता परवाह करेंगे। मल्टिक्स में एक अलग बैकअप स्टोरेज पूल था, लेकिन यह उपयोगकर्ताओं के लिए पारदर्शी था।
यूनिक्स
यूनिक्स ने मल्टीिक्स से बहुत प्रेरणा ली, लेकिन सादगी के उद्देश्य से जबकि मल्टीिक्स ने लचीलेपन का लक्ष्य रखा।
एक एकल श्रेणीबद्ध फाइलसिस्टम ने यूनिक्स को अच्छी तरह से अनुकूल किया। मल्टीिक्स की तरह, स्टोरेज पूल आमतौर पर उपयोगकर्ताओं के लिए प्रासंगिक नहीं थे। हालाँकि, हटाने योग्य डिवाइस थे, और यूनिक्स ने उन्हें उपयोगकर्ताओं के लिए mount
और umount
कमांड ("सुपर-यूज़र" अर्थात प्रशासक के लिए आरक्षित) के माध्यम से उजागर किया । में "यूनिक्स समय-साझा प्रणाली" , डेनिस रिची और केन थॉम्पसन व्याख्या करते हैं:
यद्यपि फ़ाइल सिस्टम की जड़ हमेशा एक ही डिवाइस पर संग्रहीत होती है, लेकिन यह आवश्यक नहीं है कि इस डिवाइस पर संपूर्ण फ़ाइल सिस्टम पदानुक्रम रहता हो। दो तर्कों के साथ एक माउंट सिस्टम अनुरोध है: एक मौजूदा साधारण फ़ाइल का नाम, और एक विशेष फ़ाइल का नाम जिसका संबद्ध भंडारण मात्रा (जैसे, एक डिस्क पैक) में एक स्वतंत्र फाइल सिस्टम की संरचना होनी चाहिए जिसमें अपनी स्वयं की निर्देशिका पदानुक्रम हो। । माउंट के प्रभाव को हटाने योग्य वॉल्यूम पर फ़ाइल सिस्टम की रूट निर्देशिका के बजाय हेटोफोर साधारण फ़ाइल के संदर्भ में कारण है। वास्तव में, माउंट पदानुक्रम के पेड़ (साधारण फ़ाइल) की एक पत्ती को एक पूरे नए उपशीर्षक (हटाने योग्य वॉल्यूम पर संग्रहीत पदानुक्रम) द्वारा प्रतिस्थापित करता है। माउंट के बाद, हटाने योग्य वॉल्यूम पर फ़ाइलों और स्थायी फ़ाइल सिस्टम में लगभग कोई अंतर नहीं है। हमारे इंस्टॉलेशन में, उदाहरण के लिए, रूट निर्देशिका हमारे डिस्क ड्राइव में से एक के एक छोटे से विभाजन पर रहती है, जबकि अन्य ड्राइव, जिसमें उपयोगकर्ता की फाइलें होती हैं, सिस्टम इनिशियलाइज़ेशन अनुक्रम द्वारा माउंट किया जाता है। एक माउंटेबल फाइल सिस्टम इसकी संबंधित विशेष फाइल पर लिखकर उत्पन्न होता है। एक खाली फ़ाइल सिस्टम बनाने के लिए एक उपयोगिता कार्यक्रम उपलब्ध है, या कोई एक मौजूदा फ़ाइल सिस्टम की प्रतिलिपि बना सकता है।
पदानुक्रमित फाइलसिस्टम में कर्नेल में कई स्टोरेज डिवाइस को प्रबंधित करने की जटिलता को केंद्रित करने का भी लाभ है। इसका मतलब था कि कर्नेल अधिक जटिल था, लेकिन परिणामस्वरूप सभी अनुप्रयोग सरल थे। चूंकि कर्नेल को हार्डवेयर उपकरणों के बारे में ध्यान रखना होता है, लेकिन अधिकांश एप्लिकेशन ऐसा नहीं करते हैं, यह एक अधिक प्राकृतिक डिज़ाइन है।
खिड़कियाँ
विंडोज अपने वंश को वापस दो वंशों तक ले जाता है: VMS , एक ऑपरेटिंग सिस्टम जो मूल रूप से VAX मिनीकंप्यूटर के लिए डिज़ाइन किया गया है , और CP / M , एक ऑपरेटिंग सिस्टम है जो शुरुआती इंटेल माइक्रो कंप्यूटर के लिए डिज़ाइन किया गया है।
वीएमएस में एक वितरित पदानुक्रमित फाइलसिस्टम था, फाइलें -11 । फ़ाइलें -11 में, फ़ाइल के पूर्ण पथ में एक नोड नाम, उस नोड पर एक खाता पदनाम, एक उपकरण का नाम, एक निर्देशिका ट्री पथ, एक फ़ाइल नाम, एक फ़ाइल प्रकार और एक संस्करण संख्या होती है। वीएमएस में एक शक्तिशाली तार्किक नाम सुविधा थी जो शॉर्टकट को विशिष्ट निर्देशिकाओं में परिभाषित करने की अनुमति देती थी, इसलिए उपयोगकर्ताओं को शायद ही कभी किसी निर्देशिका के "वास्तविक" स्थान के बारे में परवाह होती।
CP / M को 64kB RAM और फ्लॉपी ड्राइव वाले कंप्यूटरों के लिए डिज़ाइन किया गया था, इसलिए यह सरलता के लिए चला गया। कोई निर्देशिका नहीं थी, लेकिन एक फ़ाइल संदर्भ में एक ड्राइव इंडिकेशन ( A:
या B:
) शामिल हो सकता है ।
जब MS-DOS 2.0 ने डायरेक्टरी पेश की, तो उसने ऐसा सिंटैक्स के साथ किया जो MS-DOS 1 के साथ संगत था, जो स्वयं CP / M का अनुसरण करता था। इसलिए पथ एकल-अक्षर नाम के साथ ड्राइव पर रूट किए गए थे। (साथ ही, /
कमांड लाइन विकल्प शुरू करने के लिए वीएमएस और सीपी / एम में स्लैश चरित्र का उपयोग किया गया था, इसलिए एक अलग चरित्र को निर्देशिका विभाजक के रूप में उपयोग किया जाना था। यही कारण है कि डॉस और बाद में विंडोज बैकस्लैश का उपयोग करते हैं, हालांकि कुछ आंतरिक घटक भी क्रैश का समर्थन करते हैं। )।
विंडोज ने डॉस और वीएमएस दृष्टिकोण के साथ संगतता बनाए रखी, इसलिए इसने ड्राइव लेटर्स की धारणा को तब भी बनाए रखा जब वे कम प्रासंगिक हो गए। आज, हुड के तहत, विंडोज यूएनसी रास्तों का उपयोग करता है ( मूल रूप से माइक्रोसॉफ्ट और आईबीएम द्वारा ओएस / 2 के लिए विकसित किया गया है , संबंधित वंश के)। यद्यपि यह बिजली उपयोगकर्ताओं के लिए आरक्षित है (शायद इतिहास के वजन के कारण), विंडोज पुनर्मिलन बिंदुओं के माध्यम से बढ़ते की अनुमति देता है ।