दो और बातें: उद्यम और अन्य बड़े सर्वरों में लिनक्स की चाल स्थिर /dev
होने के कारण टूटी हुई थी। उपभोक्ता और उद्यम दोनों में प्रौद्योगिकी को आगे बढ़ाना, एक मज़ाक के रूप में स्थिर / देव को उजागर कर रहा था। [यह उत्तर बैकस्टोरी के अधिक में भरता है, विशेष रूप से इसलिए नहीं कि देवदास को udv से बदल दिया गया था]।
मेजर और माइनर नंबर की थकावट
/dev
फ़ाइलों को उनकी प्रमुख और छोटी संख्याओं द्वारा कर्नेल के अंदर पहचाना जाता है। कर्नेल ने वास्तव में कभी भी नाम के बारे में परवाह नहीं की है (और आप उदाहरण के लिए, mv /dev/sda /dev/disk-1
और यह काम करना जारी रखेगा - हालांकि निश्चित रूप से कार्यक्रमों को यह नहीं पता होगा कि इसे कहां खोजना है)।
एक स्थैतिक के साथ /dev
, आपको हर संभावित डिवाइस के लिए एक प्रमुख / मामूली संख्या आवंटित करने की आवश्यकता होती है जो मौजूद हो सकती है। इन नंबरों को विश्व स्तर पर अद्वितीय होने की आवश्यकता है, क्योंकि वे डिस्ट्रोस के हिस्से के रूप में भेजे जाते हैं, मांग पर नहीं बनाए जाते हैं। समस्या यह है कि वे प्रत्येक 8-बिट संख्या हैं - सीमा 0–255 है।
मूल रूप से, उदाहरण के लिए, लिनक्स की शुरुआत 8,0 sda, 8,1 sda1, 8,16 sdb इत्यादि से हुई थी, लेकिन लोग मशीनों में अधिक से अधिक डिस्क जोड़ते रहे, खासकर जब आप फाइबर चैनल जैसी चीजों पर विचार करते हैं। तो कुछ बिंदुओं पर, अधिक डिस्क के लिए प्रमुख संख्या 65-71 जोड़ी गई। बाद में, प्रमुख संख्या 128-135। और फिर भी लोग अधिक डिस्क चाहते रहे ...
और जीपीटी जैसे विभाजन तालिका प्रारूप चारों ओर आए, प्रति डिस्क अधिक विभाजन का समर्थन करते हैं। और निश्चित रूप से अन्य डिवाइस संख्या स्थान के माध्यम से खा रहे थे: विभिन्न RAID नियंत्रक, तार्किक मात्रा प्रबंधन, आदि।
अंतिम परिणाम LANANA लिनक्स डिवाइस सूची में देखा जा सकता है । यदि आप 2.6 सूची (केवल एक ही अभी भी) को देखते हैं, तो 200 (अधिकतम: 255) के माध्यम से ब्लॉक प्रमुख संख्याओं का एक बहुत उपयोग किया जाता है। जाहिर है, संख्या बाहर चला गया होगा।
बड़ी संख्या में परिवर्तन करना आसान नहीं था। यह कर्नेल एबीआई को बदलता है। फाइलसिस्टम के आधार पर, यह ऑन-डिस्क लेआउट को बदलता है। लेकिन, निश्चित रूप से, उन उपकरणों में से अधिकांश किसी एक प्रणाली पर मौजूद नहीं थे, यहां तक कि एक भी (उदाहरण के लिए) एससीएसआई डिस्क से बाहर चलने पर शायद बहुत सारी मुफ्त चीजें थीं - शायद इसे आईबीएम एक्सटी हार्ड डिस्क की आवश्यकता नहीं थी उदाहरण के लिए।
डायनेमिक के साथ /dev
, डिस्ट्रो को डिवाइस नंबरों को शिप नहीं करना पड़ता है। उन्हें अब विश्व स्तर पर अद्वितीय होना नहीं है। वे बूट भर में अद्वितीय होना भी नहीं है।
उपकरणों के नाम अप्रत्याशित थे
यह सब कुछ के लिए एक नंबर आवंटित करने के लिए वास्तविक आसान हुआ करता था। एक बोर्ड में दो आईडीई चैनल थे; प्रत्येक IDE चैनल ने एक मास्टर और एक दास का समर्थन किया। आप चैनल ऑर्डर, और मास्टर-तब-गुलाम ऑर्डर में असाइन कर सकते हैं। तो hda
पहला चैनल बन जाता है, मास्टर; hdb
पहला चैनल, गुलाम; hdc
दूसरा चैनल, मास्टर; आदि वे पूर्वानुमान और स्थिर थे। यदि आप एक नई ड्राइव जोड़ते हैं या एक को हटाते हैं, तो वे बदल सकते हैं, लेकिन अनुपस्थित हार्डवेयर परिवर्तन, वे स्थिर थे।
आप /dev/hda1
अपने में रख सकते हैं /etc/fstab
और विश्वास रख सकते हैं कि यह कम से कम अनुपस्थित हार्डवेयर परिवर्तनों पर काम करता रहेगा।
आईडीई ने उस तरह काम किया। इसके बाद कुछ नहीं करता।
SATA सरल प्रतीत होती है: एक पोर्ट, एक डिस्क। लेकिन ऐसा नहीं है; यह पोर्ट मल्टीप्लायरों की अनुमति देता है। और यह गर्म-स्वैप की अनुमति देता है। फिर भी, अनुपस्थित हार्डवेयर परिवर्तन, आप वास्तव में अभी भी मैपिंग कार्य कर सकते हैं।
USB ज्यादा खराब है। न केवल यह गर्म स्वैप की अनुमति देता है, यह विशिष्ट है। लोग USB फ्लैश ड्राइव में हर समय प्लग लगाते हैं। इसके अलावा, उपकरणों को जांच में थोड़ा समय लग सकता है - और जब भी वे ऐसा महसूस कर सकते हैं तब बदल सकते हैं (जैसे, जब आपके फोन पर यूएसबी स्टोरेज मोड चालू या बंद हो)। जुगनू समान है। न तो आप वास्तव में एक स्थिर मानचित्रण के साथ आ सकते हैं।
नेटवर्क संलग्न डिस्क में कोई अंतर्निहित पोर्ट ऑर्डर नहीं है। कर्नेल का उपयोग करने का एकमात्र क्रम वह क्रम है जिसमें वे दिखाई देते हैं। तार्किक संस्करणों के साथ भी।
बूट गति की खोज ने भी चीजों को बदतर बना दिया। मूल रूप से, कर्नेल ख़ुशी से इधर-उधर बैठ जाता है और काफी समय तक प्रतीक्षा करता है, उदाहरण के लिए, सभी USB उपकरणों को आरंभ करने के लिए। सभी SCSI बसों आदि की पूरी जाँच करने के लिए, उन जांचों को पृष्ठभूमि के कार्यों में बनाया गया था; बूट अब उन पर इंतजार नहीं करेगा। उपकरणों को जांच के रूप में पूरा किया जाता है।
तो कर्नेल को कम या ज्यादा छोड़ दिया गया, "जो भी आदेश वे दिखाते हैं"। इसका मतलब यह था कि कई प्रकार के उपकरण हर बूट को ऑर्डर बदल सकते हैं और कर सकते हैं-जो एक बूट /dev/sdb
पर था, दूसरे बूट पर था /dev/sdc
। यह स्टैटिक के विचार को /dev
मजाक बनाता है ।
सारांश
जब आप /dev
अप्रत्याशित डिवाइस जांच के आदेशों के कारण स्थिर होने के संयोजन को निरर्थक होते जा रहे हैं, और स्थैतिक प्रमुख / मामूली संख्याओं को आवंटित करने के लिए निरंतर काम करने के लिए अग्रणी है, तो यह स्पष्ट नहीं हो जाता है कि लिनक्स के डेवलपर्स ने एक गतिशील पर स्विच करने का विकल्प क्यों चुना /dev
।
/dev
(या आसानी से या आसानी से) स्टैटिक फाइलें एक व्यक्ति को संबोधित करती हैं जैसे कि एक व्यक्ति जो USB नेटवर्क एडॉप्टर या वर्चुअल नेटवर्क एडेप्टर में प्लगिंग करता है या जोड़ा जा रहा है या सिस्टम के चलने के दौरान नीचे ले जाता है। हालाँकि आपको अनइंस्टॉल करनेudev
और सादे पुराने स्थैतिक/dev
निर्देशिका मार्ग पर वापस जाने से कुछ भी नहीं हो रहा है ।