लिनक्स विभिन्न हार्डवेयर प्लेटफार्मों के लिए इतनी अच्छी तरह से पैमाने क्यों करता है?


22

लिनक्स इतने सारे विभिन्न प्रकार की मशीनों - डेस्कटॉप, लैपटॉप, सर्वर, एम्बेडेड डिवाइस, मोबाइल फोन आदि पर अच्छी तरह से क्यों चलता है? क्या यह मुख्य रूप से है क्योंकि सिस्टम खुला है, इसलिए इसके किसी भी हिस्से को विभिन्न वातावरणों में काम करने के लिए संशोधित किया जा सकता है? या लिनक्स कर्नेल और / या सिस्टम के अन्य गुण हैं जो इस ओएस के लिए इतने व्यापक प्लेटफॉर्म पर काम करना आसान बनाते हैं?


7
मुझे लगता है कि आपके पास पहले से ही जवाब का हिस्सा है - खुलेपन से लोगों या व्यवसायों के विभिन्न समूहों के लिए इसे अपनी आवश्यकताओं के अनुकूल बनाना आसान हो जाता है। चूंकि कर्नेल की अखंडता के लिए आलोचना नहीं की गई थी, मुझे यकीन नहीं है कि यह प्रारंभिक डिजाइन जानबूझकर स्केलेबिलिटी के लिए किसी भी तरह से अनुकूलित किया गया था। मुझे लगता है कि बड़ी संख्या में लोगों ने अन्य ऑपरेटिंग सिस्टमों की तुलना में लिनक्स की कोर पर काम किया है - और शायद इसने मुख्य अनुरक्षकों को स्पष्ट इंटरफेस के साथ कोड को टुकड़ों में विभाजित करने में ध्यान रखने के लिए मजबूर किया है? दूसरी ओर बीएसडी के कुछ वेरिएंट में एक स्पष्ट लक्ष्य के रूप में पोर्टेबिलिटी है।
RedGrittyBrick

@ रीड: सूक्ष्म कर्नेल के बजाय एक अखंड कर्नेल होने के कारण इसकी आलोचना की गई थी - हालांकि इसका डिज़ाइन के साथ कुछ भी लेना-देना नहीं है। इसका यह करना है कि कर्नेल यूजरस्पेस में कितना चलता है और कर्नेलस्पेस में कितना चलता है। विंडोज एनटी का कर्नेल (उदाहरण के लिए) बहुत मॉड्यूलर है, लेकिन यह अभी भी तकनीकी रूप से अखंड है क्योंकि अधिकांश सेवाएं (यानी फाइलसिस्टम) कर्नेल मोड में उपयोगकर्ता मोड के बजाय चलती हैं।
बिली ओनली

@ बिली: विंडोज एनटी तकनीकी रूप से एक हाइब्रिड कर्नेल है। मेरा मानना ​​है कि Microsoft अभी भी संदेश पासिंग का उपयोग करके सबसिस्टम को बनाए रखता है और वांछित रूप से टुकड़ों को उपयोगकर्ता-स्थान में ले जाने की क्षमता रखता है। उन्होंने विस्टा में ग्राफिक्स सिस्टम के साथ ऐसा किया: NT 4.0 के बाद से कर्नेल-स्पेस होने के बाद यह अब यूजर-स्पेस में है
Zan Lynx

2
@Zan: मैं इस धारणा के तहत था कि "हाइब्रिड कर्नेल" के रूप में स्थिति विवादित थी । इसलिए मैंने कहा "अखंड"। NT निश्चित रूप से पुस्तकालय-एस्क टुकड़ों में विभाजित होने पर भी बहुत सारी अखंड विशेषताएं हैं।
बिली ओनेल

@ बिली: मुझे ऐसा लगता है कि यदि आपके कर्नेल को केवल कुछ विकल्पों को बदलकर और पुनर्निर्माण करके माइक्रो-कर्नेल में बदल दिया जा सकता है, तो यह अखंड के अलावा भी कुछ है, भले ही सबसे अधिक इस्तेमाल किया जाने वाला बाइनरी बिल्ड कर्नेल एड्रेस स्पेस में सब कुछ डाल देता है।
ज़ेन लिंक्स

जवाबों:


31

जबकि खुलापन निश्चित रूप से इसका हिस्सा है, मुझे लगता है कि प्रमुख कारक लिनुस टोरवाल्ड का निरंतर आग्रह है कि बड़े से लेकर छोटे तक सभी कामों में मेनलाइन लिनक्स कर्नेल में एक स्थान है, जब तक कि यह अच्छी तरह से किया जाता है। अगर वह किसी बिंदु पर एक रेखा खींचने का फैसला करता है और "ठीक है, उस फैंसी सुपर-कंप्यूटर हार्डवेयर के लिए, हमें एक कांटा चाहिए", तो हो सकता है कि पूरी तरह से अलग-अलग हाई-एंड और छोटे-सिस्टम वेरिएंट विकसित हो गए हों। जैसा कि है, इसके बजाय लोगों ने इसे सभी को अपेक्षाकृत अच्छी तरह से एक साथ खेलने के लिए कड़ी मेहनत की है।

और, कीचड़ जो दूसरे के अवरोध पर चीजों के एक तरफ को सक्षम करते हैं, आम तौर पर अनुमति नहीं है - फिर से, लोगों को कठिन लेकिन अधिक सही तरीके से समस्याओं को हल करने के लिए मजबूर करता है, जो आमतौर पर आगे बढ़ने के लिए आसान हो जाता है। एक बार जो कुछ भी आवश्यक होता है वह कीचड़ एक ऐतिहासिक फुटनोट बन जाता है।

कई साल पहले एक साक्षात्कार से :

प्रश्न: लिनक्स एक बहुमुखी प्रणाली है। यह पीसी, विशाल सर्वर, मोबाइल और दस या अन्य उपकरणों की आपूर्ति करता है। आपकी विशेषाधिकार प्राप्त स्थिति से, कौन सा क्षेत्र ऐसा होगा जहां लिनक्स उच्चतम क्षमता को व्यक्त करेगा?

A: मुझे लगता है कि लिनक्स की वास्तविक शक्ति वास्तव में यह है कि यह एक जगह के बारे में नहीं है। हर किसी को खेलने के लिए मिलता है, और विभिन्न लोगों और विभिन्न कंपनियों के पास पूरी तरह से अलग प्रेरणाएं और विश्वास हैं जो उनके लिए महत्वपूर्ण है। इसलिए मुझे किसी एक विशेष क्षेत्र में भी दिलचस्पी नहीं है।


18
और छोटी प्रणाली और विशाल प्रणाली की परिभाषाएं हर समय बदलती रहती हैं, इसलिए यह अच्छे कीचड़ से बचा जाता है। मल्टीकोर स्मार्ट फोन अब सालों पहले किए गए सभी सुपर-कंप्यूटर कार्यों से लाभ उठा सकते हैं।
ज़ैन लिंक्स

4

कई अलग-अलग प्रकार के हार्डवेयर के लिए लिनक्स तराजू क्योंकि:

  • यह बहुत विन्यास योग्य है
  • स्रोत स्वतंत्र रूप से उपलब्ध है, और किसी भी सीपीयू के लिए बनाया जा सकता है जिसमें सी कंपाइलर उपलब्ध है
  • एम्बेडेड उपकरणों और मोबाइल फोन के प्रोसेसर में कम से कम समान स्तर या अधिक शक्ति होती है, जो कि मूल 386 मशीनों की तुलना में जल्दी लिनक्स विकास को अंजाम देता है, और शक्ति प्राप्त करना जारी रखता है
  • यह कुछ भी नहीं बल्कि एक नेटवर्क, डिस्क के कुछ रूप या डिस्क जैसे डिवाइस और एक सीरियल पोर्ट के साथ ठीक काम करता है

ठीक है, किसी को लक्ष्य मंच के लिए बूटस्ट्रैप कोड और सी रनटाइम की एक न्यूनतम राशि लिखने की आवश्यकता होगी। ओह, और इसे वर्चुअल मेमोरी का समर्थन करना है। लेकिन अन्यथा सच :)
बिली ओनली

1
@ बिली नोमू सिस्टम के पोर्ट हैं: uClinux, uClinux / ARM, और MontaVista Linux।
तोबू

@ टोबू: हम्म .. मुझे समझ नहीं आता कि यह कैसे हो सकता है। कई प्रक्रियाओं के लिए संपूर्ण "यूनिक्स दर्शन" की धारणा है कि कुछ forkसंभव है, और forkएक गैर आभासी मेमोरी सिस्टम पर यथोचित रूप से कुशलतापूर्वक नहीं किया जा सकता है। जबकि संकेत किए गए पोर्ट संभवतः लिनक्स कर्नेल के कुछ हिस्सों का उपयोग करते हैं और कुछ लिनक्स सॉफ़्टवेयर चला सकते हैं, अधिकांश भाग के लिए यह प्रकट होता है कि इन पोर्टों द्वारा उजागर एपीआई ठेठ लिनक्स कर्नेल की तुलना में अलग हैं। (उदाहरण: मेमोरी मैपिंग - जिसमें स्पष्ट रूप से वर्चुअल मेमोरी की आवश्यकता होती है)
बिली ओनली

linuxjournal.com/article/7814 : का कहना है कि uCLinux कांटे () का समर्थन नहीं करता है, लेकिन vfork () नामक एक अवरुद्ध संस्करण, vfork या थ्रेड्स का उपयोग करने के लिए uCLinux के तहत एप्लिकेशन को फिर से लिखना पड़ता है।
लॉरेंस सी

4

लिनक्स कर्नेल अच्छी तरह से स्केल करता है क्योंकि यह वही है। कोर कर्नेल अपेक्षाकृत छोटा होता है और यह वही करता है जो इसे करने की आवश्यकता होती है। डिवाइस ड्राइवर वैकल्पिक हैं और कर्नेल से छोटे सिस्टम के लिए छोड़ा जा सकता है। न्यूनतम कर्नेल आवश्यकताओं से परे अधिकांश कार्यक्षमता वैकल्पिक सुविधाओं के रूप में कार्यान्वित की जाती है।

अधिकांश कर्नेल के बगल में स्थापित कॉन्फिग फ़ाइल पर एक नज़र डालें। यह उन सभी विशेषताओं को सूचीबद्ध करेगा जो कि चालू थे और साथ ही साथ ड्राइवर भी समर्थित थे।

ड्राइवर को कर्नेल में या तो लोड किए गए मॉड्यूल के रूप में एम्बेड किया गया है। यह एक कर्नेल को गतिशील रूप से उस हार्डवेयर पर कॉन्फ़िगर करने की अनुमति देता है जिस पर वह चल रहा है। यह कई वितरणों द्वारा उपयोग किया जाने वाला दृष्टिकोण है।

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

बाहरी फोर्किंग के बिना इस लचीलेपन को बनाए रखने के लिए कोड आधार को अच्छी तरह से बनाए रखा गया है। सशर्त संकलन एक बहुत ही लचीला कर्नेल चलाता है जिसे यथासंभव न्यूनतम रखा गया है।


1

मुझे इस उत्तर का बैकअप लेने के लिए विस्तृत तकनीकी विशेषज्ञता की कमी है, लेकिन मेरा अनुभव बताता है कि लिनक्स अन्य ऑपरेटिंग सिस्टमों की तुलना में अच्छी तरह से मापता है जो मैं अक्सर उपयोग करता हूं (मुख्य रूप से, विंडोज)। तो शायद सवाल यह है कि विंडोज लिनक्स के साथ-साथ पैमाने पर क्यों नहीं है।

यदि आपके लिए यह तरीका अभी भी उपयोगी है, तो इस प्रश्न को बहाल करना, मैं सुझाव दूंगा कि बाजार की ताकतें Microsoft को नवीनतम और सबसे सक्षम हार्डवेयर में सुविधाओं और कार्यक्षमता को जोड़ने के लिए प्रेरित करती हैं, क्योंकि वे ऑपरेटिंग सिस्टम की अधिक प्रतियां मुख्य रूप से तब बेचते हैं जब अंतिम उपयोगकर्ता नई प्रणाली खरीदते हैं। । इसलिए, किसी भी समय, मुझे पता चलता है कि विंडोज की नवीनतम रिलीज पुराने, कम सक्षम हार्डवेयर पर खराब प्रदर्शन करती है।

मुझे माफ़ कर दो अगर वो आपके सवाल का निरीक्षण करे।


ऐसा लगता है कि आप ओएस बात कर रहे हैं, जबकि आदमी गिरी के बारे में बात कर रहा है। ठीक है, जब तक कि आप सुनिश्चित नहीं जानते कि विंडोज कर्नेल फूला हुआ है।
tshepang

@ त्सेपंग: निष्पक्ष होने के लिए, प्रश्न "लिनक्स कर्नेल और / या सिस्टम" के बारे में पूछते हैं। क्या विंडोज 7 और विंडोज फोन 7 एक कर्नेल साझा करते हैं? थोड़ा मैंने पढ़ा है कि उनकी गुठली उबंटू सर्वर और एंड्रॉइड की गुठली की तुलना में आम में कम कोड हो सकती है।
RedGrittyBrick

धन्यवाद, लेकिन सवाल वास्तव में लिनक्स के बारे में था और किसी अन्य ओएस के बारे में नहीं। वहाँ कई अन्य लोग हैं: en.wikipedia.org/wiki/List_of_operating_systems
जस्टिन एथियर

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