वे वास्तव में बस यही हैं - इंटरफेस। एक "प्रमुख" और "माइनर" संख्या से एन्कोडेड वे कर्नेल को एक हुक प्रदान करते हैं।
वे दो स्वादों (अच्छी तरह से, तीन, लेकिन नाम वाले पाइप अब के लिए इस स्पष्टीकरण के दायरे से बाहर हैं) में आते हैं: चरित्र उपकरण और ब्लॉक डिवाइस।
ब्लॉक डिवाइसेस में स्टोरेज डिवाइस होते हैं, जो आउटपुट को बफ़र करने में सक्षम होते हैं और बाद में पुनः प्राप्ति के लिए डेटा को स्टोर करते हैं।
कैरेक्टर डिवाइसेज ऑडियो या ग्राफिक्स कार्ड, या कीबोर्ड और माउस जैसे इनपुट डिवाइस हैं।
प्रत्येक मामले में, जब कर्नेल सही ड्राइवर को लोड करता है (या तो बूट समय पर, या udev जैसे कार्यक्रमों के माध्यम से ) तो यह देखने के लिए विभिन्न बसों को स्कैन करता है कि क्या उस चालक द्वारा नियंत्रित कोई उपकरण वास्तव में सिस्टम पर मौजूद हैं। यदि ऐसा है, तो यह एक उपकरण सेट करता है जो उचित प्रमुख / मामूली संख्या पर 'सुनता है'।
(उदाहरण के लिए, आपके सिस्टम द्वारा पाए गए पहले ऑडियो कार्ड के डिजिटल सिग्नल प्रोसेसर को 14/3 की प्रमुख / मामूली संख्या जोड़ी मिलती है; दूसरा 14,35 मिलता है, आदि)
यह एक चरित्र डिवाइस के रूप में /dev
नाम में प्रवेश करने के लिए udev तक है dsp
प्रमुख 14 नाबालिग 3 चिह्नित।
(लिनक्स के महत्वपूर्ण रूप से पुराने या न्यूनतम-फ़ुटप्रिंट संस्करणों में, /dev/
गतिशील रूप से लोड नहीं किया जा सकता है लेकिन बस सभी संभव डिवाइस फ़ाइलों को सांख्यिकीय रूप से समाहित किया जाता है।)
फिर, जब कोई उपयोगकर्ता प्रोग्राम एक ऐसी फ़ाइल तक पहुँचने की कोशिश करता है, जिसे उपयुक्त प्रमुख / लघु संख्या (उदाहरण के लिए, डिजिटल ऑडियो भेजने की कोशिश करने वाला आपका ऑडियो प्लेयर) के साथ 'वर्ण विशेष फ़ाइल' के रूप में चिह्नित किया जाता है /dev/dsp
, तो कर्नेल को पता होता है कि इस डेटा की आवश्यकता है चालक के माध्यम से प्रेषित किया जाना चाहिए कि प्रमुख / मामूली संख्या से जुड़ी हुई है; संभवतया कहा जाता है कि चालक जानता है कि बदले में इसके साथ क्या करना है।