योजना 9 के किन पहलुओं ने यूनिक्स में अपनी जगह बनाई है?


28

योजना 9 को बेल लैब्स द्वारा यूनिक्स के उत्तराधिकारी के रूप में विकसित किया गया था। यद्यपि विभिन्न कारणों से यह कभी भी काफी हद तक भौतिक नहीं हुआ, फिर भी विकास की एक उचित राशि अभी भी योजना 9 में चली गई।

मेरा सवाल है, क्या - अगर कुछ भी - योजना 9 से आधुनिक यूनिक्स में अपना रास्ता बना लिया है?



1
कागज से: "एक बेहतर समाधान का सबसे खतरनाक दुश्मन एक मौजूदा कोडबेस है जो अभी काफी अच्छा है।"
रहमू

जवाबों:


18

cloneलिनक्स में (2) सिस्टम कॉल है करने के लिए कहा योजना 9 के बाद मॉडल निर्मित किया गया है rfork()। (मैं व्यक्तिगत रूप से यह नहीं देखता कि समय कैसे काम करता है।)

इस पत्र में दावा किया गया है कि प्लान 9 ने "माउंट / फाइलसिस्टम नेमस्पेस" को प्रेरित किया है।

/procफाइल सिस्टम 8 वीं संस्करण यूनिक्स, बजाय दूसरी तरह के आसपास की योजना 9 के लिए आए हैं करने के लिए प्रकट होता है।


ऐसा लगता है कि अधिक से अधिक टुकड़े आते रहते हैं लेकिन 100% मूल कार्यक्षमता के साथ देशी प्लान 9 अनुप्रयोगों को पोर्ट करने के लिए पर्याप्त नहीं है।
जो

17

स्पष्ट एक शायद UTF-8 है। लेकिन यह शायद बहुत स्पष्ट है।

लिनक्स वीएफएस का अल-वरो का फिर से आर्किटेक्चर प्लान 9 से काफी प्रेरित है। विशेष रूप से "एवरीथिंग इज ए फाइल" से "... और एवरी फाइल इज़ ए माउंट पॉइंट"।


4
क्या आप संक्षेप में बता सकते हैं (या मुझे उस संसाधन की ओर संकेत कर सकते हैं जो यह बताता है) कि "... और हर फाइल एक आरोह बिंदु है"?
श्री शिकोदेंस

3
@श्री। Shickadance: परंपरागत रूप से, आप केवल फाइल सिस्टम को माउंट कर सकते हैं और आप केवल उन्हें निर्देशिकाओं पर माउंट कर सकते हैं। लिनक्स पर, आप निर्देशिकाओं और फ़ाइलों पर फ़ाइलों पर निर्देशिकाओं को भी माउंट कर सकते हैं। तो, एक अर्थ में, हर निर्देशिका और हर फाइल एक फाइलसिस्टम है और हर फाइल (और सिर्फ हर निर्देशिका नहीं) एक माउंटपॉइंट है। उदाहरण:cd /tmp; echo a > a; echo b > b; sudo mount --bind a b; cat b # => a
Jörg W Mittag


8

यूनियन फाइल सिस्टम, जैसे कि यूनियनफेट्स और औफ , प्लान 9 यूनियन डायरेक्टरी माउंट से प्रेरित थे ।

उदाहरण के लिए, वे /usr/binसीडी से एक लिखने योग्य फ़ाइल सिस्टम के साथ मर्ज करने के लिए लाइव सीडी पर उपयोग किए जाते हैं , ताकि आप इसमें बदलाव कर सकें /usr/bin, यहां तक ​​कि सीडी केवल पढ़ने के लिए है।

यूनियन फाइल सिस्टम: कार्यान्वयन, भाग I lwn.net पर

उदाहरण के लिए, यदि मैं डॉक्स को सही ढंग से समझता हूं, तो प्लान 9 पर, आप कर सकते हैं:

bind -b /usr/bin /bin
bind -b /usr/local/bin /bin
bind -b /home/username/bin /bin

और तीनों निर्देशिकाओं की सभी फाइलें /bin(डुप्लिकेट नामों के मामले में, अंतिम-निर्दिष्ट निर्देशिका जीत में से एक, -bविकल्प के कारण ) दिखाई देगी ।

मुझे यकीन नहीं है कि अगर ब्रूस का अर्थ "माउंट / फाइलसिस्टम नेमस्पेस" है, या कुछ अलग है।


आप शायद यह भी कह सकते हैं कि sshfs प्लान 9 के ftpfs से प्रेरित थे


3

योजना 9 में, प्रत्येक "फाइलसिस्टम" एक यूजर डेमॉन द्वारा कार्यान्वित किया जाता है। (थिंक फ्यूज।) ये डेमॉन सभी 9P (विशेषकर 9P2000, प्रोटोकॉल का दूसरा संशोधन) पर बात करते हैं। 9P अनिवार्य रूप से सिस्टम के विभिन्न हिस्सों को एक साथ रखता है।

V9fs औजार 9P प्रोटोकॉल के लिए एक लिनक्स कर्नेल ड्राइवर परियोजना। इस पर योजना 9 विकी पेज के अनुसार , यह कर्नेल 2.6.14 के रूप में मेनलाइन कर्नेल में है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.