संक्षिप्त उत्तर यह है कि यह केवल तभी होता है जब आपके पास एक भौतिक फाइल सिस्टम बैकिंग हो /dev
(और यदि आप आधुनिक लिनक्स डिस्ट्रो का उपयोग कर रहे हैं, तो आप शायद नहीं करते हैं)।
लंबे उत्तर इस प्रकार है:
यह सब मूल UNIX दर्शन पर वापस जाता है कि सब कुछ एक फ़ाइल है। यह दर्शन UNIX को इतना बहुमुखी बनाने का एक हिस्सा है, क्योंकि आप सीधे भौतिक हार्डवेयर से बात करने के लिए अपने आवेदन में विशेष कोड की आवश्यकता के बिना उपयोगकर्ताओं से उपकरणों के साथ सीधे बातचीत कर सकते हैं।
मूल रूप से, /dev
एक प्रसिद्ध नाम के साथ सिर्फ एक और निर्देशिका थी जहां आपने अपनी डिवाइस फ़ाइलों को रखा था। कुछ यूनिक्स सिस्टम अभी भी इसे अपनाते हैं (मेरा मानना है कि ओपनबीएसडी अभी भी करता है), और आप आमतौर पर बता सकते हैं कि क्या कोई सिस्टम ऐसा है क्योंकि इसमें डिवाइस के लिए बहुत सारी डिवाइस फाइलें होंगी जो सिस्टम के पास नहीं हैं (उदाहरण के लिए, हर के लिए फाइल हर संभव डिस्क पर संभव विभाजन)। यह थोड़ा और डिस्क स्थान का उपयोग करने की कीमत पर स्मृति और बूट में स्थान बचाता है, जो शुरुआती प्रणालियों के लिए एक अच्छा व्यापार था, क्योंकि वे आम तौर पर बहुत स्मृति विवश थे और बहुत तेज नहीं थे। यह आम तौर पर एक स्थिर होने के रूप में जाना जाता है /dev
।
आधुनिक लिनक्स सिस्टम पर (और मुझे विश्वास है कि FreeBSD और संभवतः सोलारिस के हाल के संस्करण), /dev
एक अस्थायी इन-मेमोरी फाइलसिस्टम है जिसे कर्नेल (या udv) द्वारा पॉप्युलेट किया जाता है यदि आप सिस्टमड का उपयोग करते हैं, क्योंकि वे कर्नेल पर भरोसा नहीं करते हैं, लगभग कुछ भी करने के लिए। । यह कुछ मेमोरी (आमतौर पर कुछ एमबी से कम) और बहुत छोटे प्रसंस्करण ओवरहेड की कीमत पर कुछ डिस्क स्थान बचाता है। इसमें कई अन्य फायदे भी हैं, जिनमें से एक सबसे बड़ा है कि हॉट-प्लग हार्डवेयर का पता लगाना आसान है। यह आम तौर पर एक गतिशील होने के रूप में जाना जाता है /dev
।
हालांकि, दोनों ही मामलों में, डिवाइस नोड्स को नियमित VFS परत के माध्यम से एक्सेस किया जाता है, जिसका अर्थ है कि उनके पास एक इनोड होना चाहिए (भले ही यह एक आभासी हो जो बस मौजूद है ताकि सामान जैसा stat()
काम करता है, वह व्यावहारिक दृष्टिकोण से हो। इसका सिस्टम पर शून्य प्रभाव है जो एक डायनामिक का उपयोग करता है /dev
क्योंकि वे सिर्फ इनोड्स को मेमोरी में स्टोर करते हैं या आवश्यकतानुसार उन्हें उत्पन्न करते हैं, और शून्य प्रभाव के पास जहां /dev
स्थिर होता है क्योंकि इनोडेस डिस्क पर शून्य स्थान के करीब ले जाते हैं और अधिकांश फाइल सिस्टम में या तो कोई ऊपरी सीमा नहीं होती है उन्हें या किसी भी तरह से प्रावधान करने की आवश्यकता कभी भी होने की संभावना है।