डिवाइस फ़ाइल: Difference between revisions
No edit summary |
No edit summary |
||
(10 intermediate revisions by 3 users not shown) | |||
Line 2: | Line 2: | ||
{{Distinguish|युक्ति ट्री }} | {{Distinguish|युक्ति ट्री }} | ||
यूनिक्स जैसे [[ऑपरेटिंग सिस्टम|ऑपरेटिंग प्रणाली]] में, डिवाइस फ़ाइल या विशेष फ़ाइल [[डिवाइस ड्राइवर]] के लिए [[इंटरफ़ेस (कंप्यूटर विज्ञान)]] है जो [[फाइल सिस्टम|फाइल प्रणाली]] में दिखाई देती है जैसे कि यह सामान्य [[कम्प्यूटर फाइल]] हो। डॉस, ओएस/2, और [[Windows|विंडोज]] में भी विशेष फ़ाइलें हैं। ये विशेष फाइलें मानक इनपुट/आउटपुट [[सिस्टम कॉल|प्रणाली कॉल]] के माध्यम से अपने डिवाइस ड्राइवर का उपयोग करके एप्लिकेशन प्रोग्राम को डिवाइस के साथ इंटरैक्ट करने [[की]] अनुमति देती हैं। मानक प्रणाली कॉल का उपयोग करना कई प्रोग्रामिंग कार्यों को सरल करता है, | यूनिक्स जैसे [[ऑपरेटिंग सिस्टम|ऑपरेटिंग प्रणाली]] में, डिवाइस फ़ाइल या विशेष फ़ाइल [[डिवाइस ड्राइवर]] के लिए [[इंटरफ़ेस (कंप्यूटर विज्ञान)]] है जो [[फाइल सिस्टम|फाइल प्रणाली]] में दिखाई देती है जैसे कि यह सामान्य [[कम्प्यूटर फाइल]] हो। डॉस, ओएस/2, और [[Windows|विंडोज]] में भी विशेष फ़ाइलें हैं। ये विशेष फाइलें मानक इनपुट/आउटपुट [[सिस्टम कॉल|प्रणाली कॉल]] के माध्यम से अपने डिवाइस ड्राइवर का उपयोग करके एप्लिकेशन प्रोग्राम को डिवाइस के साथ इंटरैक्ट करने [[की]] अनुमति देती हैं। मानक प्रणाली कॉल का उपयोग करना कई प्रोग्रामिंग कार्यों को सरल करता है, डिवाइस सुविधाओं और कार्यों को ध्यान किए बिना संगत उपयोगकर्ता-स्थान इनपुट/आउटपुट प्रणाली की ओर जाता है। | ||
== | == अवलोकन == | ||
डिवाइस फ़ाइलें | डिवाइस फ़ाइलें सामान्यतः मानक उपकरणों (जैसे प्रिंटर और सीरियल पोर्ट) के लिए सरल इंटरफेस प्रदान करती हैं, किंतु उन उपकरणों पर विशिष्ट अद्वितीय संसाधनों तक पहुंचने के लिए भी उपयोग की जा सकती हैं, जैसे कि [[डिस्क विभाजन]] हैं। इसके अतिरिक्त, डिवाइस फ़ाइलें उन प्रणाली [[संसाधन (कंप्यूटर विज्ञान)|संसाधनों (कंप्यूटर विज्ञान)]] तक पहुँचने के लिए उपयोगी होती हैं जिनका किसी वास्तविक उपकरण से कोई संबंध नहीं होता है, जैसे [[डेटा सिंक]] और यादृच्छिक संख्या जनरेटर है। | ||
यूनिक्स जैसे ऑपरेटिंग प्रणाली में दो सामान्य प्रकार की डिवाइस फाइलें होती हैं, जिन्हें कैरेक्टर स्पेशल फाइल्स और ब्लॉक स्पेशल फाइल्स के रूप में जाना जाता है। | यूनिक्स जैसे ऑपरेटिंग प्रणाली में दो सामान्य प्रकार की डिवाइस फाइलें होती हैं, जिन्हें कैरेक्टर स्पेशल फाइल्स और ब्लॉक स्पेशल फाइल्स के रूप में जाना जाता है। इनके मध्य का अंतर यह है कि ऑपरेटिंग प्रणाली और हार्डवेयर द्वारा कितना डेटा पढ़ा और लिखा जाता है। इन्हें एक साथ [[नामित पाइप|नामित पाइपों]] के विपरीत 'डिवाइस विशेष फ़ाइलें' कहा जा सकता है, जो डिवाइस से कनेक्ट नहीं हैं किंतु सामान्य फ़ाइलें भी नहीं हैं। | ||
[[MS-DOS]] ने यूनिक्स से विशेष फाइलों की अवधारणा को उधार | [[MS-DOS|एमएस-डॉस]] ने यूनिक्स से विशेष फाइलों की अवधारणा को उधार ली थी किंतु उनका नाम परिवर्तित करके डिवाइस कर दिया।<ref name="kb90239"/>क्योंकि एमएस-डॉस के प्रारंभिक संस्करण निर्देशिका (फ़ाइल प्रणाली) पदानुक्रम का समर्थन नहीं करते थे, उपकरणों को उनके नाम [[आरक्षित शब्द]] बनाकर नियमित फ़ाइलों से भिन्न किया गया था, उदाहरण के लिए: इन्फमोउस <code>CON</code> हैं। इन्हें सीपी/एम के साथ संगतता की डिग्री के लिए चयन किया गया था और अभी भी पिछड़े संगतता के लिए आधुनिक विंडोज़ में उपस्थित हैं। | ||
कुछ यूनिक्स जैसी प्रणालियों में, अधिकांश डिवाइस फ़ाइलों को | कुछ यूनिक्स जैसी प्रणालियों में, अधिकांश डिवाइस फ़ाइलों को [[वर्चुअल फाइल सिस्टम|वर्चुअल फाइल प्रणाली]] के भाग के रूप में प्रबंधित किया जाता है जो परंपरागत रूप से <code>/dev</code>, पर आरोहित होता है, संभवतः नियंत्रित डेमॉन से जुड़ा हुआ है, जो रन टाइम पर हार्डवेयर जोड़ने और विस्थापित करने का निरीक्षण करता है, डिवाइस फ़ाइल प्रणाली में संबंधित परिवर्तन करता है यदि यह स्वचालित रूप से कर्नेल द्वारा नहीं किया जाता है, और संभवतः विशेष डिवाइस की आवश्यकताओं को पूर्ण करने के लिए प्रणाली या उपयोगकर्ता स्थान में स्क्रिप्ट को प्रारम्भ करता है। [[FreeBSD|फ्रीबीएसडी]], [[DragonFly BSD|ड्रेगनफ्लाईबीएसडी]] और [[डार्विन (ऑपरेटिंग सिस्टम)|डार्विन (ऑपरेटिंग प्रणाली)]] के पास समर्पित फ़ाइल प्रणाली ''devfs'' है; इस फाइल प्रणाली द्वारा [[कर्नेल स्थान]] में डिवाइस नोड्स को स्वचालित रूप से प्रबंधित किया जाता है। लिनक्स में एक समान ''devfs ''कार्यान्वयन हुआ करता था, किंतु पश्चात में इसे छोड़ दिया गया, और फिर संस्करण 2.6.17 के पश्चात से विस्थापित कर दिया गया;<ref>{{cite web |last1=Kroah-Hartman |first1=Greg |title=[PATCH] devfs: Remove devfs from the kernel tree |url=https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/fs/devfs?id=d8deac5094988c7ad1127ee61f52c59a952fcabb |website=Linux kernel source tree |access-date=2021-06-12 |date=2005-06-20}}</ref> लिनक्स अब मुख्य रूप से[[ उपयोक्ता स्थान | उपयोगकर्ता स्थान]] कार्यान्वयन का उपयोग करता है जिसे [[udev]] के रूप में जाना जाता है, किंतु इसके कई संस्करण हैं। | ||
यूनिक्स प्रणाली में जो [[चुरोट]] प्रक्रिया | यूनिक्स प्रणाली में जो [[चुरोट|क्रोट]] प्रक्रिया भिन्नता का समर्थन करता है, जैसे कि [[सोलारिस कंटेनर]], सामान्यतः प्रत्येक क्रोट वातावरण को स्वयं <code>/dev</code>की आवश्यकता होती है; ये आरोह बिंदु वैश्विक फ़ाइल प्रणाली ट्री में विभिन्न नोड्स पर होस्ट ओएस पर दिखाई देंगे। <code>/dev</code> के क्रोट पॉप्युलेट किए गए डिवाइस नोड्स को प्रतिबंधित करके, हार्डवेयर भिन्नता को क्रोट वातावरण द्वारा प्रारम्भ किया जा सकता है (प्रोग्राम हार्डवेयर के साथ हस्तक्षेप नहीं कर सकता है जिसे वह न तो देख सकता है और न ही नाम दे सकता है- यूनिक्स फ़ाइल प्रणाली अनुमतियों की तुलना में [[अभिगम नियंत्रण]] का एक और भी स्थिर रूप)। | ||
एमएस-डॉस प्रत्येक डिवाइस फ़ाइल को विशेष रूप से विवृत बनाकर हार्डवेयर डिवाइस विवाद को प्रबंधित करता है ([[टर्मिनेट-एंड-स्टे-रेजिडेंट प्रोग्राम]] देखें)। पहले से उपयोग में आने वाले डिवाइस तक पहुंचने का प्रयास करने वाला एप्लिकेशन स्वयं को डिवाइस फ़ाइल नोड विवृत करने में असमर्थ पाएगा। यूनिक्स और लिनक्स में समवर्ती पहुंच के संबंध में विभिन्न प्रकार के डिवाइस ड्राइवर सिमेंटिक्स प्रारम्भ किए गए हैं।<ref>{{cite book |last=Corbet |first=Jonathan |last2= Kroah-Hartman |first2=Greg |last3=Rubini |first3=Alessandro |date=2005 |title=Linux Device Drivers, 3rd Edition |section=Access Control on a Device File|url=http://www.makelinux.net/ldd3/chp-6-sect-6.shtml |publisher=[[O'Reilly Media|O'Reilly]] |access-date=28 April 2017 |quote=The next step beyond a single-open device is to let a single user open a device in multiple processes but allow only one user to have the device open at a time.}}</ref> | |||
== यूनिक्स और यूनिक्स जैसी प्रणालियाँ == | == यूनिक्स और यूनिक्स जैसी प्रणालियाँ == | ||
[[File:Simplified Structure of the Linux Kernel.svg|thumb|लिनक्स कर्नेल की एक सरलीकृत संरचना। फाइल प्रणाली I/O सबप्रणाली के | [[File:Simplified Structure of the Linux Kernel.svg|thumb|लिनक्स कर्नेल की एक सरलीकृत संरचना। फाइल प्रणाली I/O सबप्रणाली के भाग के रूप में कार्यान्वित किए जाते हैं।]]डिवाइस नोड्स उन संसाधनों के अनुरूप होते हैं जो ऑपरेटिंग प्रणाली के कर्नेल (कंप्यूटर साइंस) ने पहले ही आवंटित कर दिए हैं। यूनिक्स उन संसाधनों की प्रमुख संख्या और छोटी संख्या द्वारा पहचान करता है,<ref>{{cite book |title=यूनिक्स प्रोग्रामिंग पर्यावरण|page=[https://archive.org/details/unixprogramminge0000kern/page/66 66] |author-first1=Brian W. |author-last1=Kernighan |author-link1=Brian W. Kernighan |author-first2=Rob |author-last2=Pike |author-link2=Rob Pike |publisher=[[Prentice-Hall]] |date=1984 |isbn=0-13-937681-X |url-access=registration |url=https://archive.org/details/unixprogramminge0000kern/page/66 }}</ref> दोनों [[नोड (कंप्यूटर विज्ञान)]] की संरचना के भाग के रूप में संग्रहीत हैं। इन नंबरों का असाइनमेंट भिन्न-भिन्न [[ऑपरेटिंग सिस्टम|ऑपरेटिंग प्रणाली]] और भिन्न-भिन्न [[ कंप्यूटर मंच |कंप्यूटर प्लेटफॉर्म]] पर विशिष्ट रूप से होता है। सामान्यतः, प्रमुख संख्या डिवाइस ड्राइवर की पहचान करती है और छोटी संख्या विशेष डिवाइस (संभवतः कई में से) की पहचान करती है जिसे ड्राइवर नियंत्रित करता है:<ref>{{cite web |author=Neil Brown |title=Ghosts of Unix Past: a historical search for design patterns |website=Linux Weekly News |date=October 27, 2010 |access-date=30 March 2014 |url=https://lwn.net/Articles/411845/}}</ref> इस स्थिति में, प्रणाली ड्राइवर को माइनर नंबर दे सकता है। चूँकि, डायनेमिक नंबर आवंटन की उपस्थिति में, यह विषय नहीं हो सकता है (उदाहरण के लिए फ्रीबीएसडी 5 और ऊपर)। | ||
अन्य विशेष फ़ाइल प्रकारों | अन्य विशेष फ़ाइल प्रकारों के जैसे, कंप्यूटर प्रणाली मानक प्रणाली कॉल का उपयोग करके डिवाइस नोड्स तक पहुँचता है और उन्हें नियमित कंप्यूटर फ़ाइलों के जैसे व्यवहार करता है। दो मानक प्रकार की डिवाइस फ़ाइलें उपस्थित हैं; दुर्भाग्य से उनके नाम ऐतिहासिक कारणों से प्रति-सहज हैं, और परिणामस्वरूप दोनों के मध्य अंतर की व्याख्या प्रायः त्रुटिपूर्ण होती है। | ||
=== वर्ण उपकरण === | === वर्ण उपकरण === | ||
कैरेक्टर स्पेशल फाइल्स या कैरेक्टर डिवाइस हार्डवेयर डिवाइस तक बिना बफर, सीधी पहुंच प्रदान करते हैं। | कैरेक्टर स्पेशल फाइल्स या कैरेक्टर डिवाइस हार्डवेयर डिवाइस तक बिना बफर, सीधी पहुंच प्रदान करते हैं। आवश्यक नहीं कि वे प्रोग्रामो को एक बार में अक्षर को पढ़ने या लिखने की अनुमति दें; यह प्रश्न डिवाइस पर निर्भर है। उदाहरण के लिए, हार्ड डिस्क के लिए कैरेक्टर डिवाइस को सामान्य रूप से आवश्यकता होगी कि सभी पढ़ने और लिखने को ब्लॉक सीमाओं के साथ गठबंधन किया जाए और सबसे निश्चित रूप से एक बाइट को पढ़ने की अनुमति नहीं दी जाएगी। | ||
करैक्टर उपकरणों को कभी-कभी रॉ उपकरणों के रूप में जाना जाता है जिससे इस तथ्य के निकट के भ्रम से बचा जा सके कि ब्लॉक-आधारित हार्डवेयर के टुकड़े के लिए करैक्टर डिवाइस को सामान्यतः संरेखित ब्लॉकों को पढ़ने और लिखने के लिए प्रोग्राम की आवश्यकता होगी। | |||
===ब्लॉक डिवाइस === | ===ब्लॉक डिवाइस === | ||
विशेष | विशेष फाइलों को ब्लॉक करें या ब्लॉक डिवाइस हार्डवेयर उपकरणों को बफर्ड एक्सेस प्रदान करें, और साधारण से कुछ सार प्रदान करें।<ref>{{cite web|title=IEEE Std 1003.1, 2013 Edition|url=http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap03.html#tag_03_79|access-date=24 April 2014}}</ref> कैरेक्टर उपकरणों के विपरीत, ब्लॉक डिवाइस सदैव प्रोग्रामर को किसी भी आकार (एकल अक्षर/बाइट सहित) और किसी भी संरेखण के ब्लॉक को पढ़ने या लिखने की अनुमति देगा। नकारात्मक पक्ष यह है कि क्योंकि ब्लॉक डिवाइस बफ़र किए जाते हैं, प्रोग्रामर को यह नहीं ज्ञात होता है कि कर्नेल के बफ़र्स से लिखित डेटा को वास्तविक डिवाइस पर पास करने में कितना समय लगेगा, या वास्तव में किस क्रम में भौतिक डिवाइस पर दो भिन्न-भिन्न राइट्स आएंगे। इसके अतिरिक्त, यदि हार्डवेयर कैरेक्टर और ब्लॉक डिवाइस दोनों को उजागर करता है, तो कैरेक्टर डिवाइस का उपयोग करने वाले क्लाइंट को ब्लॉक डिवाइस के बफ़र्स में किए गए परिवर्तनों से अपरिचित होने के कारण डेटा भ्रष्टाचार की आशंका होती है। | ||
अधिकांश प्रणाली हार्ड डिस्क जैसे हार्डवेयर का प्रतिनिधित्व करने के लिए ब्लॉक और कैरेक्टर डिवाइस दोनों बनाते हैं। | अधिकांश प्रणाली हार्ड डिस्क जैसे हार्डवेयर का प्रतिनिधित्व करने के लिए ब्लॉक और कैरेक्टर डिवाइस दोनों बनाते हैं। फ्रीबीएसडी और लिनक्स विशेष रूप से नहीं; पूर्व ने ब्लॉक उपकरणों के लिए विस्थापित कर दिया है,<ref>{{cite web|title=फ्रीबीएसडी आर्किटेक्चर हैंडबुक|url=http://www.freebsd.org/doc/en/books/arch-handbook/driverbasics-block.html|access-date=7 March 2013}}</ref> जबकि पश्चात वाले ने केवल ब्लॉक उपकरणों का निर्माण किया है। लिनक्स में, डिस्क के लिए कैरेक्टर डिवाइस प्राप्त करने के लिए, रॉ ड्राइवर का उपयोग करना चाहिए, चूँकि लिनक्स-विशिष्ट {{mono|O_DIRECT}} फ्लैग के साथ ब्लॉक डिवाइस को विवृत करके कैरेक्टर डिवाइस को विवृत करने के समान प्रभाव प्राप्त कर सकते हैं। | ||
=== | === सूडो उपकरण === | ||
यूनिक्स जैसी प्रणालियों पर डिवाइस नोड्स को [[भौतिक उपकरण]] | यूनिक्स जैसी प्रणालियों पर डिवाइस नोड्स को [[भौतिक उपकरण|भौतिक उपकरणों]] के अनुरूप होना आवश्यक नहीं है। जिन नोड्स में इस पत्राचार की कमी है, वे सूडो उपकरणों का समूह बनाते हैं। वे ऑपरेटिंग प्रणाली द्वारा संचालित विभिन्न कार्य प्रदान करते हैं। सबसे अधिक उपयोग किए जाने वाले कुछ (कैरेक्टर-आधारित) सूडो-उपकरणों में सम्मिलित हैं: | ||
* {{mono|[[/dev/null]]}}{{snd}} इसमें लिखे गए सभी इनपुट को स्वीकार करता है और | * {{mono|[[/dev/null]]}}{{snd}} इसमें लिखे गए सभी इनपुट को स्वीकार करता है और बहिष्कृत करता है; पढ़ने पर फ़ाइल का अंत संकेत प्रदान करता है। | ||
* {{mono|[[/dev/zero]]}}{{snd}} इसमें लिखे गए सभी इनपुट को स्वीकार करता है और | * {{mono|[[/dev/zero]]}}{{snd}} इसमें लिखे गए सभी इनपुट को स्वीकार करता है और बहिष्कृत करता है; जब से पढ़ा जाता है तो आउटपुट के रूप में अशक्त वर्णों (शून्य-मान बाइट्स) की सतत धारा उत्पन्न करता है। | ||
* {{mono|[[/dev/full]]}}{{snd}} | * {{mono|[[/dev/full]]}}{{snd}} पढ़ने पर आउटपुट के रूप में अशक्त वर्णों (शून्य-मान बाइट्स) की सतत धारा उत्पन्न करता है, और इसे लिखने का प्रयास करते समय {{mono|[[errno.h|ENOSPC]]}} (डिस्क पूर्ण) त्रुटि उत्पन्न करता है। | ||
* {{mono|[[/dev/random]]}}{{snd}} कर्नेल के [[क्रिप्टोग्राफिक रूप से सुरक्षित छद्म यादृच्छिक संख्या जनरेटर]] द्वारा | * {{mono|[[/dev/random]]}}{{snd}} कर्नेल के [[क्रिप्टोग्राफिक रूप से सुरक्षित छद्म यादृच्छिक संख्या जनरेटर|क्रिप्टोग्राफिक रूप से सुरक्षित सूडो यादृच्छिक संख्या जनरेटर]] द्वारा बाइट उत्पन्न करता है। इसका त्रुटिहीन व्यवहार कार्यान्वयन से भिन्न होता है, और कभी-कभी वेरिएंट जैसे {{mono|/dev/urandom}} या {{mono|/dev/arandom}} भी दिए गए हैं। | ||
* {{mono|/dev/stdin}}, {{mono|/dev/stdout}}, {{mono|/dev/stderr}}{{snd}} प्रक्रिया | * {{mono|/dev/stdin}}, {{mono|/dev/stdout}}, {{mono|/dev/stderr}}{{snd}} प्रक्रिया के मानक स्ट्रीम तक पहुँचें। | ||
* {{mono|/dev/fd/}}एन{{snd}} प्रक्रिया के [[फाइल डिस्क्रिप्टर]] n | * {{mono|/dev/fd/}}एन{{snd}} प्रक्रिया के [[फाइल डिस्क्रिप्टर]] n को एक्सेस करता है। | ||
इसके अतिरिक्त, | इसके अतिरिक्त, {{mono|[[ioctl]]}} इंटरफ़ेस वाले बीएसडी विशिष्ट सूडो उपकरणों में ये भी सम्मिलित हो सकते हैं: | ||
* {{mono|[[/dev/pf]]}}{{snd}} | * {{mono|[[/dev/pf]]}}{{snd}} {{mono|ioctl}} इंटरफेस के माध्यम से उपयोगकर्ता भूमि प्रक्रियाओं को [[पीएफ (फ़ायरवॉल)]] को नियंत्रित करने की अनुमति देता है । | ||
* {{mono|[[/dev/bio]]}}{{snd}} | * {{mono|[[/dev/bio]]}}{{snd}} उपकरणों को {{mono|ioctl}} एक्सेस प्रदान करता है अन्यथा {{mono|/dev}} नोड्स, के रूप में नहीं मिलता है, जिसका उपयोग {{mono|[[bioctl]]}} द्वारा [[OpenBSD|ओपनबीएसडी]] और [[NetBSD|नेटबीएसडी]] में [[RAID|रेड]] प्रबंधन को प्रारम्भ करने के लिए किया जाता है। | ||
* {{mono|[[/dev/sysmon]]}}{{snd}} | * {{mono|[[/dev/sysmon]]}}{{snd}}हार्डवेयर निरीक्षण के लिए नेटबीएसडी के [[envsys]] फ्रेमवर्क द्वारा उपयोग किया जाता है, {{mono|envstat}} उपयोगिता द्वारा {{mono|[[proplib(3)]]}} के माध्यम से उपयोक्ता भूमि में पहुँचा जाता है।<ref name=envstat>{{cite web |url= http://bxr.su/n/usr.sbin/envstat/envstat.c |title= usr.sbin/envstat/envstat.c |website= BSD Cross Reference |publisher= [[NetBSD]] |date=November 2021}} | ||
*{{cite book |section=envstat -- utility to handle environmental sensors |title=NetBSD System Manager's Manual |url= http://mdoc.su/n/envstat.8 |archive-url=https://web.archive.org/web/20190323041807/http://netbsd.gw.com/cgi-bin/man-cgi?envstat+8 |archive-date=2019-03-23}}</ref> | *{{cite book |section=envstat -- utility to handle environmental sensors |title=NetBSD System Manager's Manual |url= http://mdoc.su/n/envstat.8 |archive-url=https://web.archive.org/web/20190323041807/http://netbsd.gw.com/cgi-bin/man-cgi?envstat+8 |archive-date=2019-03-23}}</ref> | ||
=== नोड निर्माण === | === नोड निर्माण === | ||
{{mono|mknod}} प्रणाली कॉल द्वारा नोड बनाए जाते हैं। नोड बनाने के लिए कमांड-लाइन प्रोग्राम को भी {{mono|mknod}} कहा जाता है। सामान्य फाइलप्रणाली प्रणाली कॉल ({{mono|[[rename (computing)|rename]]}}, {{mono|[[unlink (Unix)|unlink]]}}) और [[कमांड (कंप्यूटिंग)]] ({{mono|[[mv (Unix)|mv]]}}, {{mono|[[rm (Unix)|rm]]}}) द्वारा नोड्स को स्थानांतरित या विस्थापित किया जा सकता है. | |||
कुछ यूनिक्स संस्करणों में निर्देशिका में सभी आवश्यक उपकरण बनाने के लिए Makedev या MAKEDEV नाम की एक स्क्रिप्ट | कुछ यूनिक्स संस्करणों में निर्देशिका में सभी आवश्यक उपकरण बनाने के लिए Makedev या MAKEDEV नाम की एक स्क्रिप्ट सम्मिलित है। {{mono|/dev}} यह केवल उन प्रणालियों पर समझ में आता है जिनके उपकरणों को स्थिर रूप से प्रमुख संख्याएँ प्रदान की जाती हैं (उदाहरण के लिए, उनके कर्नेल मॉड्यूल में हार्डकोडिंग के माध्यम से)। | ||
जबकि कुछ अन्य यूनिक्स प्रणाली जैसे कि | जबकि कुछ अन्य यूनिक्स प्रणाली जैसे कि फ्रीबीएसडी, कर्नेल-आधारित डिवाइस नोड प्रबंधन का उपयोग केवल devfs के माध्यम से करते हैं, और मैन्युअल नोड निर्माण का समर्थन नहीं करते हैं। {{mono|mknod(2)}} प्रणाली कॉल और {{mono|mknod(8)}} कमांड POSIX के साथ संगतता बनाए रखने के लिए उपस्थित है, किंतु devfs के बाहर मैन्युअल रूप से बनाए गए डिवाइस नोड कार्य नहीं करेंगे।<ref>{{cite web |title=mknod(8) |url=https://www.freebsd.org/cgi/man.cgi?query=mknod&apropos=0&sektion=8&manpath=FreeBSD+13.0-RELEASE&arch=default&format=html |website=FreeBSD Manual Pages |publisher=The FreeBSD Project |access-date=2021-06-12 |date=2016-10-03}}</ref> | ||
=== नामकरण परंपराएं === | === नामकरण परंपराएं === | ||
डिवाइस के प्रकार की पहचान करने के लिए, {{mono|/dev}} पदानुक्रम में कुछ उपकरणों के नाम के लिए निम्नलिखित उपसर्गों का उपयोग किया जाता है: | |||
* {{mono|lp}}: [[लाइन प्रिंटर]] (एलपी की तुलना करें (यूनिक्स)) | * {{mono|lp}}: [[लाइन प्रिंटर]] (एलपी की तुलना करें (यूनिक्स)) | ||
* {{mono|pt}}: [[छद्म टर्मिनल]] | * {{mono|pt}}: [[छद्म टर्मिनल|सूडो टर्मिनल]] (वर्चुअल टर्मिनल) | ||
* {{mono|tty}}: [[कंप्यूटर टर्मिनल]] | * {{mono|tty}}: [[कंप्यूटर टर्मिनल]] | ||
कुछ ऑपरेटिंग प्रणाली में | कुछ ऑपरेटिंग प्रणाली में अतिरिक्त उपसर्ग सामान्य उपयोग में आ गए हैं: | ||
* {{mono|fb}}: [[फ्रेम बफर]] | * {{mono|fb}}: [[फ्रेम बफर]] | ||
* {{mono|fd}}: (प्लेटफ़ॉर्म) [[फ्लॉपी डिस्क]], | * {{mono|fd}}: (प्लेटफ़ॉर्म) [[फ्लॉपी डिस्क]], चूँकि इसी संक्षिप्त नाम का उपयोग सामान्यतः फ़ाइल डिस्क्रिप्टर को संदर्भित करने के लिए भी किया जाता है | ||
* {{mono|hd}}: (क्लासिक) [[ एकीकृत ड्राइव इलेक्ट्रॉनिक्स ]] ड्राइवर (पहले | * {{mono|hd}}: (क्लासिक) [[ एकीकृत ड्राइव इलेक्ट्रॉनिक्स |एकीकृत ड्राइव इलेक्ट्रॉनिक्स]] ड्राइवर (पहले एटीए [[हार्ड डिस्क ड्राइव]], एटीएपीआई [[ऑप्टिकल डिस्क ड्राइव]], आदि के लिए उपयोग किया जाता था) | ||
** {{mono|hda}}: पहले [[एटीए चैनल]] पर मास्टर डिवाइस ( | ** {{mono|hda}}: पहले [[एटीए चैनल]] पर मास्टर डिवाइस (सामान्यतः प्रमुख संख्या 3 और छोटी संख्या 0 द्वारा पहचाना जाता है) | ||
** {{mono|hdb}}: पहले | ** {{mono|hdb}}: पहले एटीए चैनल पर स्लेव डिवाइस | ||
** {{mono|hdc}}: दूसरे एटीए चैनल पर मास्टर डिवाइस | ** {{mono|hdc}}: दूसरे एटीए चैनल पर मास्टर डिवाइस | ||
** {{mono|hdd}}: दूसरे | ** {{mono|hdd}}: दूसरे एटीए चैनल पर स्लेव डिवाइस | ||
* {{mono|parport}}, {{mono|pp}}: [[समानांतर बंदरगाह]] | * {{mono|parport}}, {{mono|pp}}: [[समानांतर बंदरगाह|समानांतर पोर्ट्स]] | ||
* {{mono|mem}}: मुख्य मेमोरी (कैरेक्टर डिवाइस) | * {{mono|mem}}: मुख्य मेमोरी (कैरेक्टर डिवाइस) | ||
* [[एनवीएम एक्सप्रेस]] चालक: | * [[एनवीएम एक्सप्रेस]] चालक: | ||
** {{mono|nvme0}}: | ** {{mono|nvme0}}: प्रथम पंजीकृत डिवाइस का डिवाइस कंट्रोलर (कैरेक्टर डिवाइस) | ||
** {{mono|nvme0n1}}: | ** {{mono|nvme0n1}}: प्रथम पंजीकृत डिवाइस का प्रथम नेमस्पेस (ब्लॉक डिवाइस) | ||
** {{mono|nvme0n1p1}}: | ** {{mono|nvme0n1p1}}: प्रथम पंजीकृत डिवाइस का प्रथम नामस्थान का प्रथम विभाजन (ब्लॉक डिवाइस) | ||
* [[मल्टीमीडिया कार्ड]] ड्राइवर: | * [[मल्टीमीडिया कार्ड]] ड्राइवर: | ||
** {{mono|mmcblk}}: मल्टीमीडिया कार्ड मीडिया के लिए स्टोरेज ड्राइवर ([[एसडी कार्ड]] | ** {{mono|mmcblk}}: मल्टीमीडिया कार्ड मीडिया के लिए स्टोरेज ड्राइवर ([[एसडी कार्ड]], लैपटॉप पर इएमएमसी चिप्स, आदि) | ||
*** {{mono|mmcblk0}}: | *** {{mono|mmcblk0}}: प्रथम पंजीकृत उपकरण | ||
*** {{mono|mmcblk0p1}}: | *** {{mono|mmcblk0p1}}: प्रथम पंजीकृत डिवाइस का प्रथम विभाजन | ||
* [[SCSI]] ड्राइवर, [[libATA]] (आधुनिक समानांतर | * [[SCSI|एससीएसआई]] ड्राइवर, [[libATA]] (आधुनिक समानांतर PATA/SATA ड्राइवर), [[यूनिवर्सल सीरियल बस]], [[IEEE 1394|आईईईई 1394]], आदि द्वारा भी उपयोग किया जाता है। | ||
** {{mono|sd}}: मास-स्टोरेज ड्राइवर (ब्लॉक डिवाइस) | ** {{mono|sd}}: मास-स्टोरेज ड्राइवर (ब्लॉक डिवाइस) | ||
*** {{mono|sda}}: | *** {{mono|sda}}: प्रथम पंजीकृत उपकरण | ||
*** {{mono|sdb, sdc}}, आदि: दूसरा, तीसरा, आदि पंजीकृत उपकरण | *** {{mono|sdb, sdc}}, आदि: दूसरा, तीसरा, आदि पंजीकृत उपकरण | ||
** {{mono|ses}}: संलग्नक चालक | ** {{mono|ses}}: संलग्नक चालक | ||
Line 93: | Line 93: | ||
** {{mono|st}}: [[चुंबकीय टेप]] चालक | ** {{mono|st}}: [[चुंबकीय टेप]] चालक | ||
* {{mono|tty}}: कंप्यूटर टर्मिनल | * {{mono|tty}}: कंप्यूटर टर्मिनल | ||
** {{mono|ttyS}}: (प्लेटफ़ॉर्म) [[ आनुक्रमिक द्वार ]] ड्राइवर | ** {{mono|ttyS}}: (प्लेटफ़ॉर्म) [[ आनुक्रमिक द्वार |आनुक्रमिक पोर्ट]] ड्राइवर | ||
** {{mono|ttyUSB}}: यूएसबी सीरियल कन्वर्टर्स, मोडेम, आदि। | ** {{mono|ttyUSB}}: यूएसबी सीरियल कन्वर्टर्स, मोडेम, आदि। | ||
लिनक्स में प्रयुक्त उपसर्गों की विहित सूची लिनक्स डिवाइस सूची, लिनक्स ऑपरेटिंग प्रणाली के लिए आवंटित डिवाइस नंबरों की आधिकारिक रजिस्ट्री और {{mono|/dev}} निर्देशिका नोड में पाई जा सकती है।<ref>{{cite web | url = https://www.kernel.org/doc/Documentation/devices.txt | title = Linux allocated devices (2.6+ version) | work = [[Linux kernel]] (Documentation/devices.txt) | author = Linux Assigned Names and Numbers Authority | author-link = Linux Assigned Names and Numbers Authority | date = 2009-04-06 | access-date = 2013-06-08 | archive-url = https://web.archive.org/web/20160424173724/https://www.kernel.org/doc/Documentation/devices.txt | archive-date = 24 April 2016 | url-status = dead }}</ref> | |||
विशिष्ट | अधिकांश उपकरणों के लिए, इस उपसर्ग के पश्चात विशिष्ट रूप से विशिष्ट उपकरण की पहचान करने वाला एक नंबर होता है। हार्ड ड्राइव के लिए, उपकरणों की पहचान के लिए एक अक्षर का उपयोग किया जाता है और उसके पश्चात डिस्क विभाजन की पहचान करने के लिए एक संख्या होती है। इस प्रकार फाइल प्रणाली डिस्क पर क्षेत्र को {{mono|/dev/sda3}} के रूप में जान सकता है, उदाहरण के लिए, या नेटवर्क से जुड़े टर्मिनल सत्र को {{mono|/dev/pts/14}} से जुड़ा "देख" सकता है। | ||
डिवाइस के नाम | विशिष्ट पीसी [[ मास्टर बूट दस्तावेज़ |मास्टर बूट रिकॉर्ड]] का उपयोग करने वाले डिस्क पर, प्राथमिक और वैकल्पिक विस्तारित विभाजन की डिवाइस संख्या 1 से 4 तक होती है, जबकि किसी भी तार्किक विभाजन की अनुक्रमणिका 5 और आगे होती है, पूर्व विभाजनों के लेआउट को ध्यान दिए बिना (उनके पैरेंट विस्तारित) विभाजन को डिस्क पर चौथा विभाजन होने की आवश्यकता नहीं है, न ही सभी चार प्राथमिक विभाजनों का अस्तित्व होना चाहिए)। | ||
डिवाइस के नाम सामान्यतः विभिन्न यूनिक्स-जैसे प्रणाली वेरिएंट के मध्य पोर्टेबल नहीं होते हैं, उदाहरण के लिए, कुछ [[बीएसडी]] प्रणाली पर, आईडीई डिवाइसों को नाम {{mono|/dev/wd0}}, {{mono|/dev/wd1}} आदि होता है। | |||
=== डेवफ्स === | === डेवफ्स === | ||
डेवफ्स यूनिक्स जैसे ऑपरेटिंग प्रणाली पर डिवाइस फ़ाइल प्रणाली का विशिष्ट कार्यान्वयन है, जिसका उपयोग डिवाइस फ़ाइलों को प्रस्तुत करने के लिए किया जाता है। ओएस के आधार पर कार्यान्वयन की अंतर्निहित प्रणाली भिन्न हो सकती है। | |||
भौतिक रूप से कार्यान्वित फ़ाइल प्रणाली जैसे कि हार्ड ड्राइव पर इन विशेष फ़ाइलों को बनाए रखना असुविधाजनक है, और चूंकि इसे वैसे भी कर्नेल सहायता की आवश्यकता होती है, यह विचार | भौतिक रूप से कार्यान्वित फ़ाइल प्रणाली जैसे कि हार्ड ड्राइव पर इन विशेष फ़ाइलों को बनाए रखना असुविधाजनक है, और चूंकि इसे वैसे भी कर्नेल सहायता की आवश्यकता होती है, यह विचार विशेष-उद्देश्य तार्किक फ़ाइल प्रणाली से उत्पन्न हुआ जो भौतिक रूप से संग्रहीत नहीं है। | ||
डिवाइस प्रदर्शित होने के लिए तैयार होने पर परिभाषित करना तुच्छ नहीं है। | डिवाइस प्रदर्शित होने के लिए तैयार होने पर परिभाषित करना तुच्छ नहीं है। डेवफ्स दृष्टिकोण डिवाइस ड्राइवर के लिए सक्षम और अक्षम डिवाइस से संबंधित डेवफ्स प्रविष्टियों को बनाने और विस्थापित करने के अनुरोध करने के लिए है। | ||
== | ==पीसी डॉस, टीओएस, ओएस/2, और विंडोज़== | ||
डिवाइस फ़ाइल आरक्षित कीवर्ड है जिसका उपयोग [[आईबीएम पीसी डॉस]], [[टीओएस (अटारी)|टीओएस]], ओएस / 2, और विंडोज प्रणाली में कुछ पोर्ट और डिवाइस तक पहुंच की अनुमति देने के लिए किया जाता है। | |||
एमएस-डॉस ने यूनिक्स से विशेष फाइलों की अवधारणा को उधार ली थी किंतु उनका नाम परिवर्तित करके डिवाइस कर दिया।<ref name="kb90239">{{cite web|url=http://support.microsoft.com/kb/90239 |title=Windows for Workgroups: How VSHARE.386 Manages File Sharing |publisher=Support.microsoft.com |date=1999-09-22 |access-date=2014-01-22}}</ref> क्योंकि एमएस-डॉस के प्रारंभिक संस्करण निर्देशिका (फाइल प्रणाली) पदानुक्रम का समर्थन नहीं करते थे, उपकरणों को उनके नाम को आरक्षित शब्द बनाकर नियमित फाइलों से भिन्न किया गया था। इसका अर्थ है कि कुछ फ़ाइल नाम उपकरणों के लिए आरक्षित थे, और उन्हें नई फ़ाइलों या निर्देशिकाओं के नाम के लिए उपयोग नहीं किया जाना चाहिए।<ref>{{cite web|url=http://support.microsoft.com/kb/120740/a |title=Macintosh फ़ाइलनाम बनाने से बचें जो NT डिवाइस नाम हैं|publisher=Support.microsoft.com |date=2006-11-01 |access-date=2014-01-22}}</ref>आरक्षित नामों को स्वयं सीपी/एम में <code>[[PIP (CP/M)|PIP]]</code> कमांड की "विशेष फाइलों" के साथ संगत होने के लिए चयन किया गया था। डॉस में दो प्रकार के उपकरण थे: ब्लॉक डिवाइसेस (डिस्क ड्राइव के लिए प्रयुक्त) और कैरेक्टर डिवाइसेस (सामान्यतः कॉम और पीआरएन डिवाइस सहित अन्य सभी डिवाइस)।<ref>{{cite web|url=http://stanislavs.org/helppc/device_attributes.html |title=डिवाइस गुण|publisher=Stanislavs.org |access-date=2014-01-22}}</ref> | |||
आरक्षित नामों को | |||
डॉस प्रिंटर और पोर्ट तक पहुँचने के लिए डिवाइस फ़ाइलों का उपयोग करता है। विंडोज के अधिकांश संस्करणों में भी यह समर्थन होता है, जो कुछ नामों की फाइलों और फ़ोल्डरों को बनाने के प्रयास करते समय भ्रम उत्पन्न कर सकता है, क्योंकि उनके पास ये नाम नहीं हो सकते।<ref name="FileNameUse">{{cite web |title=MS-DOS डिवाइस ड्राइवर नाम का उपयोग फ़ाइल नाम के रूप में नहीं किया जा सकता है|date=2003-05-12 |version=Revision 2.0 |id=KB74496, Q74496 |publisher=[[Microsoft]] |url=http://support.microsoft.com/kb/74496/en-us |url-status=dead |archive-url=https://archive.today/2012.07.21-143046/http://support.microsoft.com/kb/74496/en-us |archive-date=2012-07-21}}</ref> एमएस-डॉस के संस्करण 2.x <code>[[AVAILDEV]]</code> CONFIG.SYS पैरामीटर प्रदान करते हैं, जो कि <code>FALSE</code> पर सेट होने पर, इन विशेष नामों को केवल तभी सक्रिय बनाता है जब <code>\DEV\</code>, के साथ उपसर्ग किया जाता है, इस प्रकार इन नामों के साथ साधारण फ़ाइलों को बनाने की अनुमति मिलती है। <ref>{{cite web |title=अप्रमाणित आदेश|date=2002-04-12 |publisher=Kevtronics |work=4dos.info |url=http://www.4dos.info/tools/undoc_dos.txt |access-date=2014-05-16}}</ref> | |||
[[GEMDOS]], अटारी | |||
[[GEMDOS|जेमडोस]], अटारी टॉस का डॉस [[जैसा]] भाग, डॉस के समान डिवाइस नामों का समर्थन करता है, किंतु डॉस के विपरीत इसे अनुगामी ":" वर्ण की आवश्यकता होती है (डॉस पर, यह वैकल्पिक है) उन्हें सामान्य फ़ाइलनामों के विपरीत डिवाइस के रूप में पहचानने के लिए (इस प्रकार इनपुट के रूप में प्रयोग करें: डॉस और टॉस दोनों पर कार्य करते हैं, किंतु इनपुट के रूप में प्रयोग करें टॉस पर साधारण फ़ाइल का नाम देगा किंतु डॉस पर कंसोल डिवाइस)। मिंटऔर [[MagiC|मैजिक]] में, U: ड्राइव लेटर के माध्यम से एक्सेस किए गए विशेष यूनिक्स-जैसे एकीकृत फ़ाइल प्रणाली व्यू में डिवाइस फ़ाइलों को U:\DEV में भी रखा गया है। | |||
{| class="wikitable" | {| class="wikitable" | ||
|- | |- | ||
! | ! डिवाइस कीवर्ड<ref name="FileNameUse"/> | ||
! | ! इनपुट के रूप में प्रयोग करें | ||
! | ! आउटपुट के रूप में प्रयोग करें | ||
|- | |- | ||
| | | कॉन | ||
| | | [[Caret notation|^]]Z (Ctrl-Z) दबाए जाने तक टाइप किए गए डेटा को प्राप्त करता है। | ||
| | | डेटा को कंसोल पर प्रिंट करता है। | ||
|- | |- | ||
| [[PRN:| | | [[PRN:|पीआरएन]]<ref name="IBM_1987_OS2"/> | ||
| {{n/a}} | | {{n/a}} | ||
| | | प्रिंटर पर टेक्स्ट प्रिंट करता है, सामान्यतः [[LPT1:|पीएलटी1]] या [[LST:|एलएसटी]] पर रीडायरेक्ट किया जाता है। कभी-कभी अन्य उपकरणों के लिए पुन: कॉन्फ़िगर करने योग्य।<ref name="HP_1985_PP">{{cite book |title=Hewlett-Packard - Technical Reference Manual - Portable PLUS |date=August 1985 |edition=1 |id=45559-90001 |publisher=[[Hewlett-Packard Company]], Portable Computer Division |location=Corvallis, OR, USA |url=https://archive.org/details/bitsavers_hpportableblePLUSTechnicalReferenceManualAug1985_25919880 |access-date=2016-11-27 }}</ref><ref name="HP_1986_PP">{{cite book |title=Hewlett-Packard - Technical Reference Manual - Portable PLUS |date=December 1986 |orig-date=August 1985 |edition=2 |id=45559-90006 |publisher=[[Hewlett-Packard Company]] |location=Portable Computer Division, Corvallis, OR, USA |url=http://www.jeffcalc.hp41.eu/hpplus/files/techrefman.pdf |access-date=2016-11-27 |url-status=live |archive-url=https://web.archive.org/web/20161128194426/http://www.jeffcalc.hp41.eu/hpplus/files/techrefman.pdf |archive-date=2016-11-28}}</ref><ref name="Paul_1997_OD-A3">{{cite web |author-first=Matthias R. |author-last=Paul |title=Caldera OpenDOS 7.01/7.02 Update Alpha 3 IBMBIO.COM README.TXT |url=http://www.uni-bonn.de/~uzs180/download/ibmbioa3.zip |date=1997-10-02 |access-date=2009-03-29 |url-status=dead |archive-url=https://web.archive.org/web/20031004074600/http://www-student.informatik.uni-bonn.de/~frinke/ibmbioa3.zip |archive-date=2003-10-04}} [https://web.archive.org/web/20181225154705/http://mirror.macintosharchive.org/max1zzz.co.uk/+Windows%20&%20DOS/DOS/System/Novell/Support/Bins/Op702src.zip<!-- Op702src.zip is an unofficial renamed distribution of the ibmbioa3.zip file -->]</ref> | ||
|- | |- | ||
| [[AUX:| | | [[AUX:|औक्स]] (ओएस/2 में नहीं<ref name="IBM_1987_OS2"/>) | ||
| | | एक सहायक उपकरण से डेटा पढ़ता है, सामान्यतः सीरियल डिवाइस जैसे [[COM1:|COM1]].कभी-कभी अन्य उपकरणों के लिए पुन: कॉन्फ़िगर करने योग्य।<ref name="HP_1985_PP"/><ref name="HP_1986_PP"/><ref name="Paul_1997_OD-A3"/> | ||
| | | सहायक डिवाइस को डेटा भेजता है, सामान्यतः सीरियल डिवाइस जैसे [[COM1:|कॉम1]] कभी-कभी अन्य उपकरणों के लिए पुन: कॉन्फ़िगर करने योग्य।<ref name="HP_1985_PP"/><ref name="HP_1986_PP"/><ref name="Paul_1997_OD-A3"/> | ||
|- | |- | ||
| [[NUL:| | | [[NUL:|नल]] | ||
| | | शून्य या कोई डेटा नहीं देता है। | ||
| | | प्राप्त डेटा को त्यागें। | ||
|- | |- | ||
| [[CLOCK$]] ( | | [[CLOCK$|क्लॉक$]] (एमएस-डॉस 2.11 के कुछ संस्करणों में अभी भी [[CLOCK (device name)|क्लॉक]] नाम दिया गया है<ref name="Microsoft_2014_Altos">{{cite web |author-first1=Tim |author-last1=Paterson |author-link1=Tim Paterson |author2=Microsoft |title=Microsoft DOS V1.1 and V2.0: /msdos/v20source/SKELIO.TXT, /msdos/v20source/HRDDRV.ASM | ||
|url=http://www.computerhistory.org/atchm/microsoft-research-license-agreement-msdos-v1-1-v2-0/ |publisher=[[Computer History Museum]], [[Microsoft]] |date=2013-12-19<!-- 2014-03-25 --> |orig-date=1983<!-- 1983-05-17 --> |access-date=2014-03-25}} (Note: While the publishers claim this would be MS-DOS 1.1 and 2.0, it actually is [[SCP MS-DOS 1.25]] and a mixture of [[Altos MS-DOS 2.11]] and [[TeleVideo PC DOS 2.11]].)</ref><ref name="HP_1985_PP"/><ref name="HP_1986_PP"/>) | |url=http://www.computerhistory.org/atchm/microsoft-research-license-agreement-msdos-v1-1-v2-0/ |publisher=[[Computer History Museum]], [[Microsoft]] |date=2013-12-19<!-- 2014-03-25 --> |orig-date=1983<!-- 1983-05-17 --> |access-date=2014-03-25}} (Note: While the publishers claim this would be MS-DOS 1.1 and 2.0, it actually is [[SCP MS-DOS 1.25]] and a mixture of [[Altos MS-DOS 2.11]] and [[TeleVideo PC DOS 2.11]].)</ref><ref name="HP_1985_PP"/><ref name="HP_1986_PP"/>) | ||
| {{n/a}}<!-- Returns system real-time clock. Removed: Not under DOS. --><!-- (Note that "CLOCK$" no longer appears to exist under Windows 7) Removed: This is about DOS, not Windows --> | | {{n/a}}<!-- Returns system real-time clock. Removed: Not under DOS. --><!-- (Note that "CLOCK$" no longer appears to exist under Windows 7) Removed: This is about DOS, not Windows --> | ||
| {{n/a}} | | {{n/a}} | ||
|- | |- | ||
| [[KEYBD$]] ( | | [[KEYBD$|केबीडी$]] (केवल [[MS-DOS 4.0 (multitasking)|मल्टीटास्किंग एमएस-डॉस]]) | ||
| {{dunno}} | | {{dunno}} | ||
| {{dunno}} | | {{dunno}} | ||
|- | |- | ||
| [[KBD$]] ( | | [[KBD$|केबीडी]][[KBD$|$]] (केवल [[OS/2|ओएस/2]] में<ref name="IBM_1987_OS2">{{cite book |title=IBM Operating System/2 Technical Reference - Programming Family |publisher=[[IBM]] |date=September 1987 |orig-date=1986 |volume=1 |edition=1st |url=http://bitsavers.informatik.uni-stuttgart.de/pdf/ibm/pc/os2/84X1434_OS2_Technical_Reference_Volume_1_Sep87.pdf |url-status=live |archive-url=https://web.archive.org/web/20170103220718/http://bitsavers.informatik.uni-stuttgart.de/pdf/ibm/pc/os2/84X1434_OS2_Technical_Reference_Volume_1_Sep87.pdf |archive-date=2017-01-03}}</ref>) | ||
| {{dunno}} | | {{dunno}} | ||
| {{dunno}} | | {{dunno}} | ||
|- | |- | ||
| [[SCREEN$]] ( | | [[SCREEN$|स्क्रीन$]] (केवल मल्टीटास्किंग एमएस-डॉस और ओएस/2 में<ref name="IBM_1987_OS2"/>) | ||
| {{dunno}} | | {{dunno}} | ||
| {{dunno}} | | {{dunno}} | ||
|- | |- | ||
| [[POINTER$]] ( | | [[POINTER$|पॉइंटर$]] (केवल ओएस/2 में<ref name="IBM_1987_OS2"/>) | ||
| {{dunno}} | | {{dunno}} | ||
| {{dunno}} | | {{dunno}} | ||
|- | |- | ||
| [[MOUSE$]] ( | | [[MOUSE$|माउस$]] (केवल ओएस/2 में<ref name="IBM_1987_OS2"/>) | ||
| {{dunno}} | | {{dunno}} | ||
| {{dunno}} | | {{dunno}} | ||
|- | |- | ||
| [[$IDLE$]] ( | | [[$IDLE$|$आईडीएलइ$]] (केवल [[DR-DOS|डीआर-डॉस]] (5.0 से) और [[Multiuser DOS|बहुउपयोगकर्ता डॉस]] ([[Concurrent DOS 386|समवर्ती डॉस 386]]) से सदस्यों में) | ||
| {{n/a}} | | {{n/a}} | ||
| {{n/a}} | | {{n/a}} | ||
|- | |- | ||
| [[CONFIG$]] ( | | [[CONFIG$|कॉन्फिग$]] (केवल एमएस-डॉस 7.0 और उच्चतर में) | ||
| {{n/a}} | | {{n/a}} | ||
| {{n/a}} | | {{n/a}} | ||
|- | |- | ||
| [[LST:| | | [[LST:|एलएसटी]] (केवल [[86-DOS|86-डॉस]] और डॉस 1.x में, [[HP Portable Plus|एचपी पोर्टेबल प्लस]] के लिए हेवलेट पैकर्ड के एमएस-डॉस 2.11 में भी<ref name="HP_1985_PP"/><ref name="HP_1986_PP"/>) | ||
| | | कोई डेटा नहीं लौटाता. | ||
| | | लाइन प्रिंटर को डेटा भेजता है। (हेवलेट-पैकार्ड के एमएस-डॉस 2.11 के लिए एलपीटी2<ref name="HP_1985_PP"/><ref name="HP_1986_PP"/>) | ||
|- | |- | ||
| | | पीएलटी ([[HP Portable Plus|एचपी पोर्टेबल प्लस]] के लिए केवल हेवलेट पैकर्ड के एमएस-डॉस 2.11 में<ref name="HP_1985_PP"/><ref name="HP_1986_PP"/>) | ||
| | | कोई डेटा नहीं लौटाता. | ||
| | | असाइन किए गए प्लॉटर को डेटा भेजता है। संलग्न [[plotter|प्लॉटर]] डिवाइस पुनः कॉन्फ़िगर करने योग्य है।<ref name="HP_1985_PP"/><ref name="HP_1986_PP"/> | ||
|- | |- | ||
| [[LPT1:| | | [[LPT1:|पीएलटी1]], [[LPT2:|पीएलटी2]], [[LPT3:|पीएलटी3]],और कभी-कभी [[LPT4:|पीएलटी4]] (डीआर-डॉस 7.02 और उच्चतर और बहुउपयोगकर्ता डॉस कुछ संस्करणों में) | ||
| {{n/a}} | | {{n/a}} | ||
| | | चयनित समांतर पोर्ट पर डेटा भेजता है। | ||
|- | |- | ||
| [[COM1:| | | [[COM1:|कॉम1]], [[COM2:|कॉम2]], [[COM3:|कॉम3]], [[COM4:|कॉम4]] | ||
| | | चयनित सीरियल पोर्ट से डेटा पढ़ता है। | ||
| | | चयनित सीरियल पोर्ट पर डेटा भेजता है। | ||
|- | |- | ||
| 82164A ( | | 82164A ([[HP Portable Plus|एचपी पोर्टेबल प्लस]] के लिए केवल हेवलेट पैकर्ड के एमएस-डॉस 2.11 में <ref name="HP_1985_PP"/><ref name="HP_1986_PP"/>) | ||
| | | कॉम2 पर रीडायरेक्ट करता है। | ||
| | | कॉम2 पर रीडायरेक्ट करता है। | ||
|} | |} | ||
शेल [[ पुनर्निर्देशन (कंप्यूटिंग) ]] और पाइप का उपयोग करके, डेटा को डिवाइस से भेजा या प्राप्त किया जा सकता है। उदाहरण के लिए, निम्नलिखित टाइप करने से फाइल | शेल [[ पुनर्निर्देशन (कंप्यूटिंग) |पुनर्निर्देशन (कंप्यूटिंग)]] और पाइप का उपयोग करके, डेटा को डिवाइस से भेजा या प्राप्त किया जा सकता है। उदाहरण के लिए, निम्नलिखित टाइप करने से फाइल <code>c:\data.txt</code> प्रिंटर को भेज दी जाएगी: | ||
<pre> | <pre>TYPE c:\data.txt > PRN</pre> | ||
पाइप, मेलस्लॉट और एमयूपी अन्य मानक विंडोज | पाइप, मेलस्लॉट और एमयूपी अन्य मानक विंडोज उपकरण हैं।<ref>{{cite web |url=http://support.microsoft.com/kb/102985 |title=REG: CurrentControlSet Entries PART 2: SessionManager |publisher=Support.microsoft.com |date=2006-11-01 |access-date=2014-01-22}}</ref> | ||
== आईओसीएस == | == आईओसीएस == | ||
[[Sharp | [[Sharp PC-E500|पीसी-ई500]], [[Sharp PC-E500S|पीसी-ई500एस]] आदि जैसे [[Sharp Corporation|शार्प]] [[पॉकेट कंप्यूटर|पॉकेट कंप्यूटरों]] के 8-बिट ऑपरेटिंग प्रणाली में [[BASIC|बेसिक]] दुभाषिया, डॉस2-लाइक फाइल कंट्रोल सिस्टम (FCS) प्रारम्भ होता है। जो अल्पविकसित 12-बिट फैट-जैसी फाइलप्रणाली को प्रारम्भ करता है, और बीआईओएस-जैसी इनपुट/आउटपुट कंट्रोल प्रणाली (IOCS) कई मानक कैरेक्टर और ब्लॉक डिवाइस ड्राइवरों के साथ-साथ एसटीडीओ:/एससीआरएन: (डिस्प्ले), एसटीडीआई:/केवाईबीडी: (कीबोर्ड), कॉम:( सहित विशेष फाइल डिवाइस को प्रारम्भ करता है (सीरियल इनपुट/आउटपुट), एसटीडीएल:/पीआरएन: (प्रिंटर), कैस: (कैसेट टेप), इ:/एफ:/जी: (मेमोरी फ़ाइल), एस1:/एस2:/एस3: (मेमोरी कार्ड), एक्स:/वाई: (फ्लॉपी), सिस्टम: (प्रणाली), और निल: (फंक्शन) हैं।<ref>{{cite book |title=Technical Reference Manual PC-E500 |publisher=[[Sharp Corporation]], Information Systems Group, Personal Equipment Division |date=March 1990 |page=17 |url=http://www.sarnau.info/static/files/TechnicalReferenceManualPC-E500.pdf |access-date=2017-03-14 |url-status=live |archive-url=https://web.archive.org/web/20170314222851/http://www.sarnau.info/static/files/TechnicalReferenceManualPC-E500.pdf |archive-date=2017-03-14}}</ref> | ||
Line 206: | Line 208: | ||
{| class="wikitable" style="width: 100%; text-align: center; <!-- font-size: smaller; table-layout: fixed;-->" | {| class="wikitable" style="width: 100%; text-align: center; <!-- font-size: smaller; table-layout: fixed;-->" | ||
|- | |- | ||
! | ! ऑपरेटिंग सिस्टम | ||
! | ! फाइलसिस्टम या प्रबंधन सॉफ्टवेयर | ||
! | ! मानक [[mount point|आरोह बिंदु]] | ||
! | ! लेखक | ||
! | ! टिप्पणियाँ | ||
|- | |- | ||
! | ! लिनक्स 2.3.46pre5–2.6.17 | ||
| | | डेवफ्स<ref>{{cite web |last1=Gooch |first1=Richard |title=Linux Devfs (Device File System) FAQ |url=https://www.safe-mbox.com/~rgooch/linux/docs/devfs.html |access-date=2021-06-13 |date=2002-08-20}}</ref> and [[devfsd|डेवफ्स]] | ||
| <code>/dev</code> | | <code>/dev</code> | ||
| [[Richard Gooch (computer scientist)| | | [[Richard Gooch (computer scientist)|रिचर्ड गूच]] | ||
| | | उपयोगकर्ता स्थान में डिवाइस नोड घटनाओं को संभालने के लिए वैकल्पिक डेमन devfsd के साथ पूर्ण रूप से कर्नेल में कार्यान्वित किया गया।<ref>{{cite web |last1=Gooch |first1=Richard |title=My Linux Contributions |url=https://www.safe-mbox.com/~rgooch/linux/ |access-date=2021-06-13 |quote=Devfsd provides configurable management of device nodes using the Linux Device Filesystem.}}</ref>अप्रचलित – उपयोगकर्ताओं को [[udev]] और/या [[devtmpfs]] में माइग्रेट करने के लिए प्रोत्साहित किया जाता है। | ||
|- | |- | ||
! | ! लिनक्स 2.5– | ||
| [[udev]] | | [[udev]] किसी भी fs किंतु सामान्यतः [[tmpfs]] | ||
| <code>/dev</code> | | <code>/dev</code> | ||
| [[Greg Kroah-Hartman]], [[Kay Sievers]] | | [[Greg Kroah-Hartman|ग्रेग क्रोहा-हार्टमैन]], [[Kay Sievers|के सिवर्स]] और [[Dan Stekloff|डैन स्टेकलॉफ़]] | ||
| | | उपयोक्ता स्थान में बड़े पैमाने पर कार्यान्वित, युक्ति सूचना [[sysfs]] से एकत्रित की जाती है। डिवाइस फ़ाइलों को पारंपरिक सामान्य-उद्देश्य फ़ाइल सिस्टम, या मेमोरी फ़ाइल सिस्टम ([[tmpfs]]) में संग्रहीत किया जा सकता है। | ||
|- | |- | ||
! | ! लिनक्स 2.6.32– | ||
| devtmpfs | | devtmpfs udev के साथ या उसके बिना | ||
| <code>/dev</code> | | <code>/dev</code> | ||
| [[Kay Sievers]], | | [[Kay Sievers|के सिवर्स]], जान ब्लंक, [[Greg Kroah-Hartman|ग्रेग क्रोह-हार्टमैन]] | ||
| | |पहली बार udev चलने से पहले नोड प्रदान करने के लिए डिवाइस फ़ाइल सिस्टम का हाइब्रिड कर्नेल/यूज़रस्पेस दृष्टिकोण | ||
|- | |- | ||
! [[Solaris (operating system)| | ! [[Solaris (operating system)|सोलारिस]] | ||
| | | डेवफ्स<ref>{{cite web |title=devfs(7FS) |url=https://docs.oracle.com/cd/E36784_01/html/E36884/devfs-7fs.html |website=man pages section 7: Device and Network Interfaces |publisher=Oracle |access-date=2021-06-12 |date=2014}}</ref> | ||
| <code>/devices</code> | | <code>/devices</code> | ||
| [[Sun Microsystems]] | | [[Sun Microsystems|सन माइक्रोसिस्टम्स]] | ||
| | | सोलारिस-2.1 में डायनेमिक लोडेड ड्राइवरों के साथ पेश किया गया | ||
|- | |- | ||
! [[FreeBSD]] 2.0– | ! [[FreeBSD|फ्रीबीएसडी]] 2.0– | ||
| | | डेवफ्स | ||
| <code>/dev</code> | | <code>/dev</code> | ||
| [[Poul-Henning Kamp]] | | [[Poul-Henning Kamp|पॉल-हेनिंग कैंप]] | ||
| | | कर्नेल में पूर्ण रूप से प्रारम्भ किया गया। | ||
|- | |- | ||
! [[DragonFly BSD]] 2.3.2– | ! [[DragonFly BSD|ड्रेगनफ्लाई बीएसडी]] 2.3.2– | ||
| | | डेवफ्स | ||
| <code>/dev</code> | | <code>/dev</code> | ||
| [[Alex Hornung]] | | [[Alex Hornung|एलेक्स हॉर्नंग]] | ||
| | | कर्नेल में पूर्ण रूप से प्रारम्भ किया गया। | ||
|- | |- | ||
! [[macOS]] | ! [[macOS|मैक ओएस]] | ||
| | | डेवफ्स | ||
| <code>/dev</code> | | <code>/dev</code> | ||
| [[Apple Inc.]] | | [[Apple Inc.|एप्पल इंक.]] | ||
| | | कर्नेल में पूर्ण रूप से प्रारम्भ किया गया। | ||
|- | |- | ||
! [[HP-UX]] B.11.31 | ! [[HP-UX|एचपी-यूएक्स]] B.11.31 | ||
| | | डेवफ्स | ||
| <code>/dev</code> | | <code>/dev</code> | ||
| [[Hewlett-Packard| | | [[Hewlett-Packard|एचपी]] | ||
| | | कर्नेल में पूर्ण रूप से प्रारम्भ किया गया। | ||
|- | |- | ||
! [[Plan 9 from Bell Labs| | ! [[Plan 9 from Bell Labs|योजना9]] | ||
| | | | ||
| <code>#</code> | | <code>#</code> | ||
| [[Bell Labs]] | | [[Bell Labs|बेल लैब्स]] | ||
| | | कर्नेल में पूर्ण रूप से प्रारम्भ किया गया। | ||
|- | |- | ||
! [[RISC OS]] | ! [[RISC OS|आरआईएससी ओएस]] | ||
| | | डिवाइसएफएस | ||
| <code>Devices:</code> | | <code>Devices:</code> | ||
| [[Acorn Computers]] | | [[Acorn Computers|एकोर्न कंप्यूटर]] | ||
| | | डिवाइसएफएस को 1991 में प्रारम्भ किया गया था और पहली बार<ref>{{cite web|url=https://www.riscosopen.org/viewer/view/castle/RiscOS/Sources/HWSupport/DeviceFS/BlackLog?rev=4.1;content-type=text%2Fplain|title=Project Black change log|access-date=2016-05-15}}</ref> आरआईएससी ओएस 3 में दिखाई दिया था। यह विशेष फ़ाइलों जैसे कई उपकरणों का प्रबंधन करता है, सबसे सामान्य: समानांतर, सीरियल, फास्ट समानांतर, और यूएसबी प्रणाली उपकरणमॉड्यूल छद्म उपकरणों को प्रारम्भ करता है जैसे: वीडीयू, केबीडी, नल और प्रिंटर। | ||
|- | |- | ||
! [[MS-DOS]], [[PC DOS]], [[DR-DOS]] | ! [[MS-DOS|एमएस-डॉस]], [[PC DOS|पीसी डॉस]], [[DR-DOS|डीआर-डॉस]] | ||
| [[File Allocation Table| | | [[File Allocation Table|फैट]] | ||
| <code>\DEV</code> (and <code>/DEV</code>) | | <code>\DEV</code> (and <code>/DEV</code>) | ||
| | | वेरियस | ||
| | | जैसा कि कर्नेल में प्रारम्भ किया गया है, कैरेक्टर डिवाइस वर्चुअल \DEV डायरेक्टरी और किसी भी डिस्क डायरेक्टरी में दिखाई देते हैं। एमएस-डॉस/पीसी डॉस 2.x, के अंतर्गत,[[CONFIG.SYS]] [[AVAILDEV (CONFIG.SYS directive)|AVAILDEV]]=FALSE निर्देश का उपयोग उपकरणों को केवल \DEV में उपस्तिथ रहने के लिए बाध्य करने के लिए किया जा सकता है | ||
|- | |- | ||
! [[MagiC]], [[MiNT]], [[MultiTOS]] | ! [[MagiC|मैजिक]], [[MiNT|एमआईएनटी]], [[MultiTOS|मल्टीटीओएस]] | ||
| | | | ||
| <code>U:\DEV</code><ref>{{cite web |url=http://toshyp.atari.org/en/00b00b.html |title=The drive U: in MagiC |date=2016-03-28 |access-date=2017-01-09 |url-status=live |archive-url=https://web.archive.org/web/20170115164938/http://toshyp.atari.org/en/00b00b.html |archive-date=2017-01-15}}</ref><ref>{{cite web |url=http://freemint.de/docs/mint.mint_doc.html |title=FreeMiNT-Portal - mint.doc |date=2000-04-27 |access-date=2017-01-09 |url-status=live |archive-url=https://web.archive.org/web/20170115165043/http://freemint.de/docs/mint.mint_doc.html |archive-date=2017-01-15}}</ref> | | <code>U:\DEV</code><ref>{{cite web |url=http://toshyp.atari.org/en/00b00b.html |title=The drive U: in MagiC |date=2016-03-28 |access-date=2017-01-09 |url-status=live |archive-url=https://web.archive.org/web/20170115164938/http://toshyp.atari.org/en/00b00b.html |archive-date=2017-01-15}}</ref><ref>{{cite web |url=http://freemint.de/docs/mint.mint_doc.html |title=FreeMiNT-Portal - mint.doc |date=2000-04-27 |access-date=2017-01-09 |url-status=live |archive-url=https://web.archive.org/web/20170115165043/http://freemint.de/docs/mint.mint_doc.html |archive-date=2017-01-15}}</ref> | ||
| | | अनुप्रयोग प्रणाली हीडलबर्ग, एरिक आर. स्मिथ, [[Atari|अटारी कॉर्प.]] | ||
| | | विशेष U: ड्राइव में एक वर्चुअल DEV डायरेक्टरी होती है, जिसके अंदर कोई डिवाइस फाइल ढूंढ सकता है। | ||
|- | |- | ||
! [[Windows 9x]] | ! [[Windows 9x|विंडोज 9x]] | ||
| | | | ||
| <code>\\devices\</code> | | <code>\\devices\</code> | ||
| [[Microsoft]] | | [[Microsoft|माइक्रोसॉफ्ट]] | ||
| | | | ||
|- | |- | ||
! [[Windows NT]] | ! [[Windows NT|विंडोज एनटी]] | ||
| | | | ||
| <code>\Device</code> | | <code>\Device</code> | ||
| [[Microsoft]] | | [[Microsoft|माइक्रोसॉफ्ट]] | ||
| | | <code>\Device</code> निर्देशिका [[Object Manager (Windows)|विंडोज एनटी ऑब्जेक्ट नेमस्पेस]] का भाग है। | ||
|- | |- | ||
! | ! विंडोज एनटी विन32 सबसिस्टम | ||
| | | | ||
| <code>\\.\</code> | | <code>\\.\</code> | ||
| [[Microsoft]] | | [[Microsoft|माइक्रोसॉफ्ट]] | ||
| | | <code>\\.\</code> उपसर्ग समर्थन करने वाले एपीआई को विन32 फ़ाइल नामस्थान केअतिरिक्त विन32 डिवाइस नामस्थान तक पहुँच प्रदान करता है। विन32 डिवाइस नाम विंडोज एनटी <code>\Device</code>निर्देशिका के अंतर्गत डिवाइस नामों के सांकेतिक लिंक हैं। | ||
|} | |} | ||
Line 339: | Line 341: | ||
{{Disk operating systems}} | {{Disk operating systems}} | ||
{{DEFAULTSORT:Device File System}} | {{DEFAULTSORT:Device File System}} | ||
[[Category: | [[Category:Articles with hatnote templates targeting a nonexistent page|Device File System]] | ||
[[Category:Created On 10/06/2023]] | [[Category:Collapse templates|Device File System]] | ||
[[Category:Created On 10/06/2023|Device File System]] | |||
[[Category:Lua-based templates|Device File System]] | |||
[[Category:Machine Translated Page|Device File System]] | |||
[[Category:Multi-column templates|Device File System]] | |||
[[Category:Navigational boxes| ]] | |||
[[Category:Navigational boxes without horizontal lists|Device File System]] | |||
[[Category:Pages using div col with small parameter|Device File System]] | |||
[[Category:Pages with script errors|Device File System]] | |||
[[Category:Sidebars with styles needing conversion|Device File System]] | |||
[[Category:Template documentation pages|Documentation/doc]] | |||
[[Category:Templates Vigyan Ready|Device File System]] | |||
[[Category:Templates generating microformats|Device File System]] | |||
[[Category:Templates that add a tracking category|Device File System]] | |||
[[Category:Templates that are not mobile friendly|Device File System]] | |||
[[Category:Templates that generate short descriptions|Device File System]] | |||
[[Category:Templates using TemplateData|Device File System]] | |||
[[Category:Templates using under-protected Lua modules|Device File System]] | |||
[[Category:Wikipedia fully protected templates|Div col]] | |||
[[Category:Wikipedia metatemplates|Device File System]] | |||
[[Category:डिवाइस फ़ाइल| डिवाइस फ़ाइल ]] | |||
[[Category:यूनिक्स फ़ाइल सिस्टम प्रौद्योगिकी|Device File System]] | |||
[[Category:लिनक्स कर्नेल के इंटरफेस|Device File System]] | |||
[[Category:लिनक्स कर्नेल द्वारा समर्थित छद्म फाइल सिस्टम|Device File System]] | |||
[[Category:विशेष-उद्देश्य फ़ाइल सिस्टम|Device File System]] |
Latest revision as of 16:43, 19 June 2023
यूनिक्स जैसे ऑपरेटिंग प्रणाली में, डिवाइस फ़ाइल या विशेष फ़ाइल डिवाइस ड्राइवर के लिए इंटरफ़ेस (कंप्यूटर विज्ञान) है जो फाइल प्रणाली में दिखाई देती है जैसे कि यह सामान्य कम्प्यूटर फाइल हो। डॉस, ओएस/2, और विंडोज में भी विशेष फ़ाइलें हैं। ये विशेष फाइलें मानक इनपुट/आउटपुट प्रणाली कॉल के माध्यम से अपने डिवाइस ड्राइवर का उपयोग करके एप्लिकेशन प्रोग्राम को डिवाइस के साथ इंटरैक्ट करने की अनुमति देती हैं। मानक प्रणाली कॉल का उपयोग करना कई प्रोग्रामिंग कार्यों को सरल करता है, डिवाइस सुविधाओं और कार्यों को ध्यान किए बिना संगत उपयोगकर्ता-स्थान इनपुट/आउटपुट प्रणाली की ओर जाता है।
अवलोकन
डिवाइस फ़ाइलें सामान्यतः मानक उपकरणों (जैसे प्रिंटर और सीरियल पोर्ट) के लिए सरल इंटरफेस प्रदान करती हैं, किंतु उन उपकरणों पर विशिष्ट अद्वितीय संसाधनों तक पहुंचने के लिए भी उपयोग की जा सकती हैं, जैसे कि डिस्क विभाजन हैं। इसके अतिरिक्त, डिवाइस फ़ाइलें उन प्रणाली संसाधनों (कंप्यूटर विज्ञान) तक पहुँचने के लिए उपयोगी होती हैं जिनका किसी वास्तविक उपकरण से कोई संबंध नहीं होता है, जैसे डेटा सिंक और यादृच्छिक संख्या जनरेटर है।
यूनिक्स जैसे ऑपरेटिंग प्रणाली में दो सामान्य प्रकार की डिवाइस फाइलें होती हैं, जिन्हें कैरेक्टर स्पेशल फाइल्स और ब्लॉक स्पेशल फाइल्स के रूप में जाना जाता है। इनके मध्य का अंतर यह है कि ऑपरेटिंग प्रणाली और हार्डवेयर द्वारा कितना डेटा पढ़ा और लिखा जाता है। इन्हें एक साथ नामित पाइपों के विपरीत 'डिवाइस विशेष फ़ाइलें' कहा जा सकता है, जो डिवाइस से कनेक्ट नहीं हैं किंतु सामान्य फ़ाइलें भी नहीं हैं।
एमएस-डॉस ने यूनिक्स से विशेष फाइलों की अवधारणा को उधार ली थी किंतु उनका नाम परिवर्तित करके डिवाइस कर दिया।[1]क्योंकि एमएस-डॉस के प्रारंभिक संस्करण निर्देशिका (फ़ाइल प्रणाली) पदानुक्रम का समर्थन नहीं करते थे, उपकरणों को उनके नाम आरक्षित शब्द बनाकर नियमित फ़ाइलों से भिन्न किया गया था, उदाहरण के लिए: इन्फमोउस CON
हैं। इन्हें सीपी/एम के साथ संगतता की डिग्री के लिए चयन किया गया था और अभी भी पिछड़े संगतता के लिए आधुनिक विंडोज़ में उपस्थित हैं।
कुछ यूनिक्स जैसी प्रणालियों में, अधिकांश डिवाइस फ़ाइलों को वर्चुअल फाइल प्रणाली के भाग के रूप में प्रबंधित किया जाता है जो परंपरागत रूप से /dev
, पर आरोहित होता है, संभवतः नियंत्रित डेमॉन से जुड़ा हुआ है, जो रन टाइम पर हार्डवेयर जोड़ने और विस्थापित करने का निरीक्षण करता है, डिवाइस फ़ाइल प्रणाली में संबंधित परिवर्तन करता है यदि यह स्वचालित रूप से कर्नेल द्वारा नहीं किया जाता है, और संभवतः विशेष डिवाइस की आवश्यकताओं को पूर्ण करने के लिए प्रणाली या उपयोगकर्ता स्थान में स्क्रिप्ट को प्रारम्भ करता है। फ्रीबीएसडी, ड्रेगनफ्लाईबीएसडी और डार्विन (ऑपरेटिंग प्रणाली) के पास समर्पित फ़ाइल प्रणाली devfs है; इस फाइल प्रणाली द्वारा कर्नेल स्थान में डिवाइस नोड्स को स्वचालित रूप से प्रबंधित किया जाता है। लिनक्स में एक समान devfs कार्यान्वयन हुआ करता था, किंतु पश्चात में इसे छोड़ दिया गया, और फिर संस्करण 2.6.17 के पश्चात से विस्थापित कर दिया गया;[2] लिनक्स अब मुख्य रूप से उपयोगकर्ता स्थान कार्यान्वयन का उपयोग करता है जिसे udev के रूप में जाना जाता है, किंतु इसके कई संस्करण हैं।
यूनिक्स प्रणाली में जो क्रोट प्रक्रिया भिन्नता का समर्थन करता है, जैसे कि सोलारिस कंटेनर, सामान्यतः प्रत्येक क्रोट वातावरण को स्वयं /dev
की आवश्यकता होती है; ये आरोह बिंदु वैश्विक फ़ाइल प्रणाली ट्री में विभिन्न नोड्स पर होस्ट ओएस पर दिखाई देंगे। /dev
के क्रोट पॉप्युलेट किए गए डिवाइस नोड्स को प्रतिबंधित करके, हार्डवेयर भिन्नता को क्रोट वातावरण द्वारा प्रारम्भ किया जा सकता है (प्रोग्राम हार्डवेयर के साथ हस्तक्षेप नहीं कर सकता है जिसे वह न तो देख सकता है और न ही नाम दे सकता है- यूनिक्स फ़ाइल प्रणाली अनुमतियों की तुलना में अभिगम नियंत्रण का एक और भी स्थिर रूप)।
एमएस-डॉस प्रत्येक डिवाइस फ़ाइल को विशेष रूप से विवृत बनाकर हार्डवेयर डिवाइस विवाद को प्रबंधित करता है (टर्मिनेट-एंड-स्टे-रेजिडेंट प्रोग्राम देखें)। पहले से उपयोग में आने वाले डिवाइस तक पहुंचने का प्रयास करने वाला एप्लिकेशन स्वयं को डिवाइस फ़ाइल नोड विवृत करने में असमर्थ पाएगा। यूनिक्स और लिनक्स में समवर्ती पहुंच के संबंध में विभिन्न प्रकार के डिवाइस ड्राइवर सिमेंटिक्स प्रारम्भ किए गए हैं।[3]
यूनिक्स और यूनिक्स जैसी प्रणालियाँ
डिवाइस नोड्स उन संसाधनों के अनुरूप होते हैं जो ऑपरेटिंग प्रणाली के कर्नेल (कंप्यूटर साइंस) ने पहले ही आवंटित कर दिए हैं। यूनिक्स उन संसाधनों की प्रमुख संख्या और छोटी संख्या द्वारा पहचान करता है,[4] दोनों नोड (कंप्यूटर विज्ञान) की संरचना के भाग के रूप में संग्रहीत हैं। इन नंबरों का असाइनमेंट भिन्न-भिन्न ऑपरेटिंग प्रणाली और भिन्न-भिन्न कंप्यूटर प्लेटफॉर्म पर विशिष्ट रूप से होता है। सामान्यतः, प्रमुख संख्या डिवाइस ड्राइवर की पहचान करती है और छोटी संख्या विशेष डिवाइस (संभवतः कई में से) की पहचान करती है जिसे ड्राइवर नियंत्रित करता है:[5] इस स्थिति में, प्रणाली ड्राइवर को माइनर नंबर दे सकता है। चूँकि, डायनेमिक नंबर आवंटन की उपस्थिति में, यह विषय नहीं हो सकता है (उदाहरण के लिए फ्रीबीएसडी 5 और ऊपर)।
अन्य विशेष फ़ाइल प्रकारों के जैसे, कंप्यूटर प्रणाली मानक प्रणाली कॉल का उपयोग करके डिवाइस नोड्स तक पहुँचता है और उन्हें नियमित कंप्यूटर फ़ाइलों के जैसे व्यवहार करता है। दो मानक प्रकार की डिवाइस फ़ाइलें उपस्थित हैं; दुर्भाग्य से उनके नाम ऐतिहासिक कारणों से प्रति-सहज हैं, और परिणामस्वरूप दोनों के मध्य अंतर की व्याख्या प्रायः त्रुटिपूर्ण होती है।
वर्ण उपकरण
कैरेक्टर स्पेशल फाइल्स या कैरेक्टर डिवाइस हार्डवेयर डिवाइस तक बिना बफर, सीधी पहुंच प्रदान करते हैं। आवश्यक नहीं कि वे प्रोग्रामो को एक बार में अक्षर को पढ़ने या लिखने की अनुमति दें; यह प्रश्न डिवाइस पर निर्भर है। उदाहरण के लिए, हार्ड डिस्क के लिए कैरेक्टर डिवाइस को सामान्य रूप से आवश्यकता होगी कि सभी पढ़ने और लिखने को ब्लॉक सीमाओं के साथ गठबंधन किया जाए और सबसे निश्चित रूप से एक बाइट को पढ़ने की अनुमति नहीं दी जाएगी।
करैक्टर उपकरणों को कभी-कभी रॉ उपकरणों के रूप में जाना जाता है जिससे इस तथ्य के निकट के भ्रम से बचा जा सके कि ब्लॉक-आधारित हार्डवेयर के टुकड़े के लिए करैक्टर डिवाइस को सामान्यतः संरेखित ब्लॉकों को पढ़ने और लिखने के लिए प्रोग्राम की आवश्यकता होगी।
ब्लॉक डिवाइस
विशेष फाइलों को ब्लॉक करें या ब्लॉक डिवाइस हार्डवेयर उपकरणों को बफर्ड एक्सेस प्रदान करें, और साधारण से कुछ सार प्रदान करें।[6] कैरेक्टर उपकरणों के विपरीत, ब्लॉक डिवाइस सदैव प्रोग्रामर को किसी भी आकार (एकल अक्षर/बाइट सहित) और किसी भी संरेखण के ब्लॉक को पढ़ने या लिखने की अनुमति देगा। नकारात्मक पक्ष यह है कि क्योंकि ब्लॉक डिवाइस बफ़र किए जाते हैं, प्रोग्रामर को यह नहीं ज्ञात होता है कि कर्नेल के बफ़र्स से लिखित डेटा को वास्तविक डिवाइस पर पास करने में कितना समय लगेगा, या वास्तव में किस क्रम में भौतिक डिवाइस पर दो भिन्न-भिन्न राइट्स आएंगे। इसके अतिरिक्त, यदि हार्डवेयर कैरेक्टर और ब्लॉक डिवाइस दोनों को उजागर करता है, तो कैरेक्टर डिवाइस का उपयोग करने वाले क्लाइंट को ब्लॉक डिवाइस के बफ़र्स में किए गए परिवर्तनों से अपरिचित होने के कारण डेटा भ्रष्टाचार की आशंका होती है।
अधिकांश प्रणाली हार्ड डिस्क जैसे हार्डवेयर का प्रतिनिधित्व करने के लिए ब्लॉक और कैरेक्टर डिवाइस दोनों बनाते हैं। फ्रीबीएसडी और लिनक्स विशेष रूप से नहीं; पूर्व ने ब्लॉक उपकरणों के लिए विस्थापित कर दिया है,[7] जबकि पश्चात वाले ने केवल ब्लॉक उपकरणों का निर्माण किया है। लिनक्स में, डिस्क के लिए कैरेक्टर डिवाइस प्राप्त करने के लिए, रॉ ड्राइवर का उपयोग करना चाहिए, चूँकि लिनक्स-विशिष्ट O_DIRECT फ्लैग के साथ ब्लॉक डिवाइस को विवृत करके कैरेक्टर डिवाइस को विवृत करने के समान प्रभाव प्राप्त कर सकते हैं।
सूडो उपकरण
यूनिक्स जैसी प्रणालियों पर डिवाइस नोड्स को भौतिक उपकरणों के अनुरूप होना आवश्यक नहीं है। जिन नोड्स में इस पत्राचार की कमी है, वे सूडो उपकरणों का समूह बनाते हैं। वे ऑपरेटिंग प्रणाली द्वारा संचालित विभिन्न कार्य प्रदान करते हैं। सबसे अधिक उपयोग किए जाने वाले कुछ (कैरेक्टर-आधारित) सूडो-उपकरणों में सम्मिलित हैं:
- /dev/null – इसमें लिखे गए सभी इनपुट को स्वीकार करता है और बहिष्कृत करता है; पढ़ने पर फ़ाइल का अंत संकेत प्रदान करता है।
- /dev/zero – इसमें लिखे गए सभी इनपुट को स्वीकार करता है और बहिष्कृत करता है; जब से पढ़ा जाता है तो आउटपुट के रूप में अशक्त वर्णों (शून्य-मान बाइट्स) की सतत धारा उत्पन्न करता है।
- /dev/full – पढ़ने पर आउटपुट के रूप में अशक्त वर्णों (शून्य-मान बाइट्स) की सतत धारा उत्पन्न करता है, और इसे लिखने का प्रयास करते समय ENOSPC (डिस्क पूर्ण) त्रुटि उत्पन्न करता है।
- /dev/random – कर्नेल के क्रिप्टोग्राफिक रूप से सुरक्षित सूडो यादृच्छिक संख्या जनरेटर द्वारा बाइट उत्पन्न करता है। इसका त्रुटिहीन व्यवहार कार्यान्वयन से भिन्न होता है, और कभी-कभी वेरिएंट जैसे /dev/urandom या /dev/arandom भी दिए गए हैं।
- /dev/stdin, /dev/stdout, /dev/stderr – प्रक्रिया के मानक स्ट्रीम तक पहुँचें।
- /dev/fd/एन – प्रक्रिया के फाइल डिस्क्रिप्टर n को एक्सेस करता है।
इसके अतिरिक्त, ioctl इंटरफ़ेस वाले बीएसडी विशिष्ट सूडो उपकरणों में ये भी सम्मिलित हो सकते हैं:
- /dev/pf – ioctl इंटरफेस के माध्यम से उपयोगकर्ता भूमि प्रक्रियाओं को पीएफ (फ़ायरवॉल) को नियंत्रित करने की अनुमति देता है ।
- /dev/bio – उपकरणों को ioctl एक्सेस प्रदान करता है अन्यथा /dev नोड्स, के रूप में नहीं मिलता है, जिसका उपयोग bioctl द्वारा ओपनबीएसडी और नेटबीएसडी में रेड प्रबंधन को प्रारम्भ करने के लिए किया जाता है।
- /dev/sysmon – हार्डवेयर निरीक्षण के लिए नेटबीएसडी के envsys फ्रेमवर्क द्वारा उपयोग किया जाता है, envstat उपयोगिता द्वारा proplib(3) के माध्यम से उपयोक्ता भूमि में पहुँचा जाता है।[8]
नोड निर्माण
mknod प्रणाली कॉल द्वारा नोड बनाए जाते हैं। नोड बनाने के लिए कमांड-लाइन प्रोग्राम को भी mknod कहा जाता है। सामान्य फाइलप्रणाली प्रणाली कॉल (rename, unlink) और कमांड (कंप्यूटिंग) (mv, rm) द्वारा नोड्स को स्थानांतरित या विस्थापित किया जा सकता है.
कुछ यूनिक्स संस्करणों में निर्देशिका में सभी आवश्यक उपकरण बनाने के लिए Makedev या MAKEDEV नाम की एक स्क्रिप्ट सम्मिलित है। /dev यह केवल उन प्रणालियों पर समझ में आता है जिनके उपकरणों को स्थिर रूप से प्रमुख संख्याएँ प्रदान की जाती हैं (उदाहरण के लिए, उनके कर्नेल मॉड्यूल में हार्डकोडिंग के माध्यम से)।
जबकि कुछ अन्य यूनिक्स प्रणाली जैसे कि फ्रीबीएसडी, कर्नेल-आधारित डिवाइस नोड प्रबंधन का उपयोग केवल devfs के माध्यम से करते हैं, और मैन्युअल नोड निर्माण का समर्थन नहीं करते हैं। mknod(2) प्रणाली कॉल और mknod(8) कमांड POSIX के साथ संगतता बनाए रखने के लिए उपस्थित है, किंतु devfs के बाहर मैन्युअल रूप से बनाए गए डिवाइस नोड कार्य नहीं करेंगे।[9]
नामकरण परंपराएं
डिवाइस के प्रकार की पहचान करने के लिए, /dev पदानुक्रम में कुछ उपकरणों के नाम के लिए निम्नलिखित उपसर्गों का उपयोग किया जाता है:
- lp: लाइन प्रिंटर (एलपी की तुलना करें (यूनिक्स))
- pt: सूडो टर्मिनल (वर्चुअल टर्मिनल)
- tty: कंप्यूटर टर्मिनल
कुछ ऑपरेटिंग प्रणाली में अतिरिक्त उपसर्ग सामान्य उपयोग में आ गए हैं:
- fb: फ्रेम बफर
- fd: (प्लेटफ़ॉर्म) फ्लॉपी डिस्क, चूँकि इसी संक्षिप्त नाम का उपयोग सामान्यतः फ़ाइल डिस्क्रिप्टर को संदर्भित करने के लिए भी किया जाता है
- hd: (क्लासिक) एकीकृत ड्राइव इलेक्ट्रॉनिक्स ड्राइवर (पहले एटीए हार्ड डिस्क ड्राइव, एटीएपीआई ऑप्टिकल डिस्क ड्राइव, आदि के लिए उपयोग किया जाता था)
- hda: पहले एटीए चैनल पर मास्टर डिवाइस (सामान्यतः प्रमुख संख्या 3 और छोटी संख्या 0 द्वारा पहचाना जाता है)
- hdb: पहले एटीए चैनल पर स्लेव डिवाइस
- hdc: दूसरे एटीए चैनल पर मास्टर डिवाइस
- hdd: दूसरे एटीए चैनल पर स्लेव डिवाइस
- parport, pp: समानांतर पोर्ट्स
- mem: मुख्य मेमोरी (कैरेक्टर डिवाइस)
- एनवीएम एक्सप्रेस चालक:
- nvme0: प्रथम पंजीकृत डिवाइस का डिवाइस कंट्रोलर (कैरेक्टर डिवाइस)
- nvme0n1: प्रथम पंजीकृत डिवाइस का प्रथम नेमस्पेस (ब्लॉक डिवाइस)
- nvme0n1p1: प्रथम पंजीकृत डिवाइस का प्रथम नामस्थान का प्रथम विभाजन (ब्लॉक डिवाइस)
- मल्टीमीडिया कार्ड ड्राइवर:
- mmcblk: मल्टीमीडिया कार्ड मीडिया के लिए स्टोरेज ड्राइवर (एसडी कार्ड, लैपटॉप पर इएमएमसी चिप्स, आदि)
- mmcblk0: प्रथम पंजीकृत उपकरण
- mmcblk0p1: प्रथम पंजीकृत डिवाइस का प्रथम विभाजन
- mmcblk: मल्टीमीडिया कार्ड मीडिया के लिए स्टोरेज ड्राइवर (एसडी कार्ड, लैपटॉप पर इएमएमसी चिप्स, आदि)
- एससीएसआई ड्राइवर, libATA (आधुनिक समानांतर PATA/SATA ड्राइवर), यूनिवर्सल सीरियल बस, आईईईई 1394, आदि द्वारा भी उपयोग किया जाता है।
- sd: मास-स्टोरेज ड्राइवर (ब्लॉक डिवाइस)
- sda: प्रथम पंजीकृत उपकरण
- sdb, sdc, आदि: दूसरा, तीसरा, आदि पंजीकृत उपकरण
- ses: संलग्नक चालक
- sg: सामान्य एससीएसआई परत
- sr: ROM ड्राइवर (डेटा-उन्मुख ऑप्टिकल डिस्क ड्राइव; scd केवल एक द्वितीयक उपनाम है)
- st: चुंबकीय टेप चालक
- sd: मास-स्टोरेज ड्राइवर (ब्लॉक डिवाइस)
- tty: कंप्यूटर टर्मिनल
- ttyS: (प्लेटफ़ॉर्म) आनुक्रमिक पोर्ट ड्राइवर
- ttyUSB: यूएसबी सीरियल कन्वर्टर्स, मोडेम, आदि।
लिनक्स में प्रयुक्त उपसर्गों की विहित सूची लिनक्स डिवाइस सूची, लिनक्स ऑपरेटिंग प्रणाली के लिए आवंटित डिवाइस नंबरों की आधिकारिक रजिस्ट्री और /dev निर्देशिका नोड में पाई जा सकती है।[10]
अधिकांश उपकरणों के लिए, इस उपसर्ग के पश्चात विशिष्ट रूप से विशिष्ट उपकरण की पहचान करने वाला एक नंबर होता है। हार्ड ड्राइव के लिए, उपकरणों की पहचान के लिए एक अक्षर का उपयोग किया जाता है और उसके पश्चात डिस्क विभाजन की पहचान करने के लिए एक संख्या होती है। इस प्रकार फाइल प्रणाली डिस्क पर क्षेत्र को /dev/sda3 के रूप में जान सकता है, उदाहरण के लिए, या नेटवर्क से जुड़े टर्मिनल सत्र को /dev/pts/14 से जुड़ा "देख" सकता है।
विशिष्ट पीसी मास्टर बूट रिकॉर्ड का उपयोग करने वाले डिस्क पर, प्राथमिक और वैकल्पिक विस्तारित विभाजन की डिवाइस संख्या 1 से 4 तक होती है, जबकि किसी भी तार्किक विभाजन की अनुक्रमणिका 5 और आगे होती है, पूर्व विभाजनों के लेआउट को ध्यान दिए बिना (उनके पैरेंट विस्तारित) विभाजन को डिस्क पर चौथा विभाजन होने की आवश्यकता नहीं है, न ही सभी चार प्राथमिक विभाजनों का अस्तित्व होना चाहिए)।
डिवाइस के नाम सामान्यतः विभिन्न यूनिक्स-जैसे प्रणाली वेरिएंट के मध्य पोर्टेबल नहीं होते हैं, उदाहरण के लिए, कुछ बीएसडी प्रणाली पर, आईडीई डिवाइसों को नाम /dev/wd0, /dev/wd1 आदि होता है।
डेवफ्स
डेवफ्स यूनिक्स जैसे ऑपरेटिंग प्रणाली पर डिवाइस फ़ाइल प्रणाली का विशिष्ट कार्यान्वयन है, जिसका उपयोग डिवाइस फ़ाइलों को प्रस्तुत करने के लिए किया जाता है। ओएस के आधार पर कार्यान्वयन की अंतर्निहित प्रणाली भिन्न हो सकती है।
भौतिक रूप से कार्यान्वित फ़ाइल प्रणाली जैसे कि हार्ड ड्राइव पर इन विशेष फ़ाइलों को बनाए रखना असुविधाजनक है, और चूंकि इसे वैसे भी कर्नेल सहायता की आवश्यकता होती है, यह विचार विशेष-उद्देश्य तार्किक फ़ाइल प्रणाली से उत्पन्न हुआ जो भौतिक रूप से संग्रहीत नहीं है।
डिवाइस प्रदर्शित होने के लिए तैयार होने पर परिभाषित करना तुच्छ नहीं है। डेवफ्स दृष्टिकोण डिवाइस ड्राइवर के लिए सक्षम और अक्षम डिवाइस से संबंधित डेवफ्स प्रविष्टियों को बनाने और विस्थापित करने के अनुरोध करने के लिए है।
पीसी डॉस, टीओएस, ओएस/2, और विंडोज़
डिवाइस फ़ाइल आरक्षित कीवर्ड है जिसका उपयोग आईबीएम पीसी डॉस, टीओएस, ओएस / 2, और विंडोज प्रणाली में कुछ पोर्ट और डिवाइस तक पहुंच की अनुमति देने के लिए किया जाता है।
एमएस-डॉस ने यूनिक्स से विशेष फाइलों की अवधारणा को उधार ली थी किंतु उनका नाम परिवर्तित करके डिवाइस कर दिया।[1] क्योंकि एमएस-डॉस के प्रारंभिक संस्करण निर्देशिका (फाइल प्रणाली) पदानुक्रम का समर्थन नहीं करते थे, उपकरणों को उनके नाम को आरक्षित शब्द बनाकर नियमित फाइलों से भिन्न किया गया था। इसका अर्थ है कि कुछ फ़ाइल नाम उपकरणों के लिए आरक्षित थे, और उन्हें नई फ़ाइलों या निर्देशिकाओं के नाम के लिए उपयोग नहीं किया जाना चाहिए।[11]आरक्षित नामों को स्वयं सीपी/एम में PIP
कमांड की "विशेष फाइलों" के साथ संगत होने के लिए चयन किया गया था। डॉस में दो प्रकार के उपकरण थे: ब्लॉक डिवाइसेस (डिस्क ड्राइव के लिए प्रयुक्त) और कैरेक्टर डिवाइसेस (सामान्यतः कॉम और पीआरएन डिवाइस सहित अन्य सभी डिवाइस)।[12]
डॉस प्रिंटर और पोर्ट तक पहुँचने के लिए डिवाइस फ़ाइलों का उपयोग करता है। विंडोज के अधिकांश संस्करणों में भी यह समर्थन होता है, जो कुछ नामों की फाइलों और फ़ोल्डरों को बनाने के प्रयास करते समय भ्रम उत्पन्न कर सकता है, क्योंकि उनके पास ये नाम नहीं हो सकते।[13] एमएस-डॉस के संस्करण 2.x AVAILDEV
CONFIG.SYS पैरामीटर प्रदान करते हैं, जो कि FALSE
पर सेट होने पर, इन विशेष नामों को केवल तभी सक्रिय बनाता है जब \DEV\
, के साथ उपसर्ग किया जाता है, इस प्रकार इन नामों के साथ साधारण फ़ाइलों को बनाने की अनुमति मिलती है। [14]
जेमडोस, अटारी टॉस का डॉस जैसा भाग, डॉस के समान डिवाइस नामों का समर्थन करता है, किंतु डॉस के विपरीत इसे अनुगामी ":" वर्ण की आवश्यकता होती है (डॉस पर, यह वैकल्पिक है) उन्हें सामान्य फ़ाइलनामों के विपरीत डिवाइस के रूप में पहचानने के लिए (इस प्रकार इनपुट के रूप में प्रयोग करें: डॉस और टॉस दोनों पर कार्य करते हैं, किंतु इनपुट के रूप में प्रयोग करें टॉस पर साधारण फ़ाइल का नाम देगा किंतु डॉस पर कंसोल डिवाइस)। मिंटऔर मैजिक में, U: ड्राइव लेटर के माध्यम से एक्सेस किए गए विशेष यूनिक्स-जैसे एकीकृत फ़ाइल प्रणाली व्यू में डिवाइस फ़ाइलों को U:\DEV में भी रखा गया है।
डिवाइस कीवर्ड[13] | इनपुट के रूप में प्रयोग करें | आउटपुट के रूप में प्रयोग करें |
---|---|---|
कॉन | ^Z (Ctrl-Z) दबाए जाने तक टाइप किए गए डेटा को प्राप्त करता है। | डेटा को कंसोल पर प्रिंट करता है। |
पीआरएन[15] | — | प्रिंटर पर टेक्स्ट प्रिंट करता है, सामान्यतः पीएलटी1 या एलएसटी पर रीडायरेक्ट किया जाता है। कभी-कभी अन्य उपकरणों के लिए पुन: कॉन्फ़िगर करने योग्य।[16][17][18] |
औक्स (ओएस/2 में नहीं[15]) | एक सहायक उपकरण से डेटा पढ़ता है, सामान्यतः सीरियल डिवाइस जैसे COM1.कभी-कभी अन्य उपकरणों के लिए पुन: कॉन्फ़िगर करने योग्य।[16][17][18] | सहायक डिवाइस को डेटा भेजता है, सामान्यतः सीरियल डिवाइस जैसे कॉम1 कभी-कभी अन्य उपकरणों के लिए पुन: कॉन्फ़िगर करने योग्य।[16][17][18] |
नल | शून्य या कोई डेटा नहीं देता है। | प्राप्त डेटा को त्यागें। |
क्लॉक$ (एमएस-डॉस 2.11 के कुछ संस्करणों में अभी भी क्लॉक नाम दिया गया है[19][16][17]) | — | — |
केबीडी$ (केवल मल्टीटास्किंग एमएस-डॉस) | ? | ? |
केबीडी$ (केवल ओएस/2 में[15]) | ? | ? |
स्क्रीन$ (केवल मल्टीटास्किंग एमएस-डॉस और ओएस/2 में[15]) | ? | ? |
पॉइंटर$ (केवल ओएस/2 में[15]) | ? | ? |
माउस$ (केवल ओएस/2 में[15]) | ? | ? |
$आईडीएलइ$ (केवल डीआर-डॉस (5.0 से) और बहुउपयोगकर्ता डॉस (समवर्ती डॉस 386) से सदस्यों में) | — | — |
कॉन्फिग$ (केवल एमएस-डॉस 7.0 और उच्चतर में) | — | — |
एलएसटी (केवल 86-डॉस और डॉस 1.x में, एचपी पोर्टेबल प्लस के लिए हेवलेट पैकर्ड के एमएस-डॉस 2.11 में भी[16][17]) | कोई डेटा नहीं लौटाता. | लाइन प्रिंटर को डेटा भेजता है। (हेवलेट-पैकार्ड के एमएस-डॉस 2.11 के लिए एलपीटी2[16][17]) |
पीएलटी (एचपी पोर्टेबल प्लस के लिए केवल हेवलेट पैकर्ड के एमएस-डॉस 2.11 में[16][17]) | कोई डेटा नहीं लौटाता. | असाइन किए गए प्लॉटर को डेटा भेजता है। संलग्न प्लॉटर डिवाइस पुनः कॉन्फ़िगर करने योग्य है।[16][17] |
पीएलटी1, पीएलटी2, पीएलटी3,और कभी-कभी पीएलटी4 (डीआर-डॉस 7.02 और उच्चतर और बहुउपयोगकर्ता डॉस कुछ संस्करणों में) | — | चयनित समांतर पोर्ट पर डेटा भेजता है। |
कॉम1, कॉम2, कॉम3, कॉम4 | चयनित सीरियल पोर्ट से डेटा पढ़ता है। | चयनित सीरियल पोर्ट पर डेटा भेजता है। |
82164A (एचपी पोर्टेबल प्लस के लिए केवल हेवलेट पैकर्ड के एमएस-डॉस 2.11 में [16][17]) | कॉम2 पर रीडायरेक्ट करता है। | कॉम2 पर रीडायरेक्ट करता है। |
शेल पुनर्निर्देशन (कंप्यूटिंग) और पाइप का उपयोग करके, डेटा को डिवाइस से भेजा या प्राप्त किया जा सकता है। उदाहरण के लिए, निम्नलिखित टाइप करने से फाइल c:\data.txt
प्रिंटर को भेज दी जाएगी:
TYPE c:\data.txt > PRN
पाइप, मेलस्लॉट और एमयूपी अन्य मानक विंडोज उपकरण हैं।[20]
आईओसीएस
पीसी-ई500, पीसी-ई500एस आदि जैसे शार्प पॉकेट कंप्यूटरों के 8-बिट ऑपरेटिंग प्रणाली में बेसिक दुभाषिया, डॉस2-लाइक फाइल कंट्रोल सिस्टम (FCS) प्रारम्भ होता है। जो अल्पविकसित 12-बिट फैट-जैसी फाइलप्रणाली को प्रारम्भ करता है, और बीआईओएस-जैसी इनपुट/आउटपुट कंट्रोल प्रणाली (IOCS) कई मानक कैरेक्टर और ब्लॉक डिवाइस ड्राइवरों के साथ-साथ एसटीडीओ:/एससीआरएन: (डिस्प्ले), एसटीडीआई:/केवाईबीडी: (कीबोर्ड), कॉम:( सहित विशेष फाइल डिवाइस को प्रारम्भ करता है (सीरियल इनपुट/आउटपुट), एसटीडीएल:/पीआरएन: (प्रिंटर), कैस: (कैसेट टेप), इ:/एफ:/जी: (मेमोरी फ़ाइल), एस1:/एस2:/एस3: (मेमोरी कार्ड), एक्स:/वाई: (फ्लॉपी), सिस्टम: (प्रणाली), और निल: (फंक्शन) हैं।[21]
कार्यान्वयन
ऑपरेटिंग सिस्टम | फाइलसिस्टम या प्रबंधन सॉफ्टवेयर | मानक आरोह बिंदु | लेखक | टिप्पणियाँ |
---|---|---|---|---|
लिनक्स 2.3.46pre5–2.6.17 | डेवफ्स[22] and डेवफ्स | /dev
|
रिचर्ड गूच | उपयोगकर्ता स्थान में डिवाइस नोड घटनाओं को संभालने के लिए वैकल्पिक डेमन devfsd के साथ पूर्ण रूप से कर्नेल में कार्यान्वित किया गया।[23]अप्रचलित – उपयोगकर्ताओं को udev और/या devtmpfs में माइग्रेट करने के लिए प्रोत्साहित किया जाता है। |
लिनक्स 2.5– | udev किसी भी fs किंतु सामान्यतः tmpfs | /dev
|
ग्रेग क्रोहा-हार्टमैन, के सिवर्स और डैन स्टेकलॉफ़ | उपयोक्ता स्थान में बड़े पैमाने पर कार्यान्वित, युक्ति सूचना sysfs से एकत्रित की जाती है। डिवाइस फ़ाइलों को पारंपरिक सामान्य-उद्देश्य फ़ाइल सिस्टम, या मेमोरी फ़ाइल सिस्टम (tmpfs) में संग्रहीत किया जा सकता है। |
लिनक्स 2.6.32– | devtmpfs udev के साथ या उसके बिना | /dev
|
के सिवर्स, जान ब्लंक, ग्रेग क्रोह-हार्टमैन | पहली बार udev चलने से पहले नोड प्रदान करने के लिए डिवाइस फ़ाइल सिस्टम का हाइब्रिड कर्नेल/यूज़रस्पेस दृष्टिकोण |
सोलारिस | डेवफ्स[24] | /devices
|
सन माइक्रोसिस्टम्स | सोलारिस-2.1 में डायनेमिक लोडेड ड्राइवरों के साथ पेश किया गया |
फ्रीबीएसडी 2.0– | डेवफ्स | /dev
|
पॉल-हेनिंग कैंप | कर्नेल में पूर्ण रूप से प्रारम्भ किया गया। |
ड्रेगनफ्लाई बीएसडी 2.3.2– | डेवफ्स | /dev
|
एलेक्स हॉर्नंग | कर्नेल में पूर्ण रूप से प्रारम्भ किया गया। |
मैक ओएस | डेवफ्स | /dev
|
एप्पल इंक. | कर्नेल में पूर्ण रूप से प्रारम्भ किया गया। |
एचपी-यूएक्स B.11.31 | डेवफ्स | /dev
|
एचपी | कर्नेल में पूर्ण रूप से प्रारम्भ किया गया। |
योजना9 | #
|
बेल लैब्स | कर्नेल में पूर्ण रूप से प्रारम्भ किया गया। | |
आरआईएससी ओएस | डिवाइसएफएस | Devices:
|
एकोर्न कंप्यूटर | डिवाइसएफएस को 1991 में प्रारम्भ किया गया था और पहली बार[25] आरआईएससी ओएस 3 में दिखाई दिया था। यह विशेष फ़ाइलों जैसे कई उपकरणों का प्रबंधन करता है, सबसे सामान्य: समानांतर, सीरियल, फास्ट समानांतर, और यूएसबी प्रणाली उपकरणमॉड्यूल छद्म उपकरणों को प्रारम्भ करता है जैसे: वीडीयू, केबीडी, नल और प्रिंटर। |
एमएस-डॉस, पीसी डॉस, डीआर-डॉस | फैट | \DEV (and /DEV )
|
वेरियस | जैसा कि कर्नेल में प्रारम्भ किया गया है, कैरेक्टर डिवाइस वर्चुअल \DEV डायरेक्टरी और किसी भी डिस्क डायरेक्टरी में दिखाई देते हैं। एमएस-डॉस/पीसी डॉस 2.x, के अंतर्गत,CONFIG.SYS AVAILDEV=FALSE निर्देश का उपयोग उपकरणों को केवल \DEV में उपस्तिथ रहने के लिए बाध्य करने के लिए किया जा सकता है |
मैजिक, एमआईएनटी, मल्टीटीओएस | U:\DEV [26][27]
|
अनुप्रयोग प्रणाली हीडलबर्ग, एरिक आर. स्मिथ, अटारी कॉर्प. | विशेष U: ड्राइव में एक वर्चुअल DEV डायरेक्टरी होती है, जिसके अंदर कोई डिवाइस फाइल ढूंढ सकता है। | |
विंडोज 9x | \\devices\
|
माइक्रोसॉफ्ट | ||
विंडोज एनटी | \Device
|
माइक्रोसॉफ्ट | \Device निर्देशिका विंडोज एनटी ऑब्जेक्ट नेमस्पेस का भाग है।
| |
विंडोज एनटी विन32 सबसिस्टम | \\.\
|
माइक्रोसॉफ्ट | \\.\ उपसर्ग समर्थन करने वाले एपीआई को विन32 फ़ाइल नामस्थान केअतिरिक्त विन32 डिवाइस नामस्थान तक पहुँच प्रदान करता है। विन32 डिवाइस नाम विंडोज एनटी \Device निर्देशिका के अंतर्गत डिवाइस नामों के सांकेतिक लिंक हैं।
|
यह भी देखें
- डीईएफ़एसडी
- सिसफ
- ब्लॉक (डेटा संग्रहण)
- अतुल्यकालिक I/O
- डेटा बफ़र
- फाइल सिस्टम
- हार्डवेयर अमूर्त
- संरक्षण क्षेत्र नियंत्रण कार्य
- उपयोगकर्ता स्थान और कर्नेल स्थान
- यूनिक्स फ़ाइल प्रकार
- उदेव
संदर्भ
- ↑ 1.0 1.1 "Windows for Workgroups: How VSHARE.386 Manages File Sharing". Support.microsoft.com. 1999-09-22. Retrieved 2014-01-22.
- ↑ Kroah-Hartman, Greg (2005-06-20). "[PATCH] devfs: Remove devfs from the kernel tree". Linux kernel source tree. Retrieved 2021-06-12.
- ↑ Corbet, Jonathan; Kroah-Hartman, Greg; Rubini, Alessandro (2005). "Access Control on a Device File". Linux Device Drivers, 3rd Edition. O'Reilly. Retrieved 28 April 2017.
The next step beyond a single-open device is to let a single user open a device in multiple processes but allow only one user to have the device open at a time.
- ↑ Kernighan, Brian W.; Pike, Rob (1984). यूनिक्स प्रोग्रामिंग पर्यावरण. Prentice-Hall. p. 66. ISBN 0-13-937681-X.
- ↑ Neil Brown (October 27, 2010). "Ghosts of Unix Past: a historical search for design patterns". Linux Weekly News. Retrieved 30 March 2014.
- ↑ "IEEE Std 1003.1, 2013 Edition". Retrieved 24 April 2014.
- ↑ "फ्रीबीएसडी आर्किटेक्चर हैंडबुक". Retrieved 7 March 2013.
- ↑ "usr.sbin/envstat/envstat.c". BSD Cross Reference. NetBSD. November 2021.
- "envstat -- utility to handle environmental sensors". NetBSD System Manager's Manual. Archived from the original on 2019-03-23.
- ↑ "mknod(8)". FreeBSD Manual Pages. The FreeBSD Project. 2016-10-03. Retrieved 2021-06-12.
- ↑ Linux Assigned Names and Numbers Authority (2009-04-06). "Linux allocated devices (2.6+ version)". Linux kernel (Documentation/devices.txt). Archived from the original on 24 April 2016. Retrieved 2013-06-08.
- ↑ "Macintosh फ़ाइलनाम बनाने से बचें जो NT डिवाइस नाम हैं". Support.microsoft.com. 2006-11-01. Retrieved 2014-01-22.
- ↑ "डिवाइस गुण". Stanislavs.org. Retrieved 2014-01-22.
- ↑ 13.0 13.1 "MS-DOS डिवाइस ड्राइवर नाम का उपयोग फ़ाइल नाम के रूप में नहीं किया जा सकता है". Revision 2.0. Microsoft. 2003-05-12. KB74496, Q74496. Archived from the original on 2012-07-21.
- ↑ "अप्रमाणित आदेश". 4dos.info. Kevtronics. 2002-04-12. Retrieved 2014-05-16.
- ↑ 15.0 15.1 15.2 15.3 15.4 15.5 IBM Operating System/2 Technical Reference - Programming Family (PDF). Vol. 1 (1st ed.). IBM. September 1987 [1986]. Archived (PDF) from the original on 2017-01-03.
- ↑ 16.0 16.1 16.2 16.3 16.4 16.5 16.6 16.7 16.8 Hewlett-Packard - Technical Reference Manual - Portable PLUS (1 ed.). Corvallis, OR, USA: Hewlett-Packard Company, Portable Computer Division. August 1985. 45559-90001. Retrieved 2016-11-27.
- ↑ 17.0 17.1 17.2 17.3 17.4 17.5 17.6 17.7 17.8 Hewlett-Packard - Technical Reference Manual - Portable PLUS (PDF) (2 ed.). Portable Computer Division, Corvallis, OR, USA: Hewlett-Packard Company. December 1986 [August 1985]. 45559-90006. Archived (PDF) from the original on 2016-11-28. Retrieved 2016-11-27.
- ↑ 18.0 18.1 18.2 Paul, Matthias R. (1997-10-02). "Caldera OpenDOS 7.01/7.02 Update Alpha 3 IBMBIO.COM README.TXT". Archived from the original on 2003-10-04. Retrieved 2009-03-29. [1]
- ↑ Paterson, Tim; Microsoft (2013-12-19) [1983]. "Microsoft DOS V1.1 and V2.0: /msdos/v20source/SKELIO.TXT, /msdos/v20source/HRDDRV.ASM". Computer History Museum, Microsoft. Retrieved 2014-03-25. (Note: While the publishers claim this would be MS-DOS 1.1 and 2.0, it actually is SCP MS-DOS 1.25 and a mixture of Altos MS-DOS 2.11 and TeleVideo PC DOS 2.11.)
- ↑ "REG: CurrentControlSet Entries PART 2: SessionManager". Support.microsoft.com. 2006-11-01. Retrieved 2014-01-22.
- ↑ Technical Reference Manual PC-E500 (PDF). Sharp Corporation, Information Systems Group, Personal Equipment Division. March 1990. p. 17. Archived (PDF) from the original on 2017-03-14. Retrieved 2017-03-14.
- ↑ Gooch, Richard (2002-08-20). "Linux Devfs (Device File System) FAQ". Retrieved 2021-06-13.
- ↑ Gooch, Richard. "My Linux Contributions". Retrieved 2021-06-13.
Devfsd provides configurable management of device nodes using the Linux Device Filesystem.
- ↑ "devfs(7FS)". man pages section 7: Device and Network Interfaces. Oracle. 2014. Retrieved 2021-06-12.
- ↑ "Project Black change log". Retrieved 2016-05-15.
- ↑ "The drive U: in MagiC". 2016-03-28. Archived from the original on 2017-01-15. Retrieved 2017-01-09.
- ↑ "FreeMiNT-Portal - mint.doc". 2000-04-27. Archived from the original on 2017-01-15. Retrieved 2017-01-09.
अग्रिम पठन
- Philip Streck (2002-09-24). "devfs for Management and Administration". Linux Journal.
- Daniel Robbins (2001-10-01). "Part 4: Introduction to devfs". Common threads: Advanced filesystem implementor's guide. IBM.
- Daniel Robbins (2001-10-01). "Part 5: Setting up devfs". Common threads: Advanced filesystem implementor's guide. IBM.
- Daniel Robbins (2001-10-01). "Part 6: Implementing devfs (using the init wrapper)". Common threads: Advanced filesystem implementor's guide. IBM.
- Doug Gilbert (2001-01-22). "DEVFS and SCSI".
- "3.3. Device Names in devfs". The Linux 2.4 SCSI subsystem HOWTO: Chapter 3. Names and Addresses. Linux Documentation Project.
- "Device File System Guide". Gentoo Linux Documentation. Gentoo Foundation, Inc. Archived from the original on 21 May 2008. Retrieved 19 June 2008.
- Mark Ellis (2003-09-23). "How to use kernel module autoloading with devfs and devfsd". Linux From Scratch Hints.
- Martial Daumas (2003-09-18). "How to create a basic mk_initrd command that works nice with LFS and devfs". Linux From Scratch Hints.
- Jeroen Coumans (2003-04-19). "How to setup devfs with your current LFS-configuration using devfsd. How you can use devfs from scratch". Linux From Scratch Hints.
- Tushar Teredesai (2003-03-05). "Using devfs and devfsd". Linux From Scratch Hints.