लिनक्स और विंडोज़ कर्नेल [बंद]


9

मैं विंडोज 7 पर लिनक्स और एक दोस्त पर काम करता हूं।

मैं उस गति के बारे में चकित था कि NetBeans, Eclipse, pgAdmin और अन्य प्रोग्राम बहुत कुछ खोलते हैं, वास्तव में, विंडोज़ की तुलना में लिनक्स पर बहुत तेजी से।

लिनक्स और विंडोज़ कर्नेल के बीच मुख्य अंतर क्या है जो उस समय लोड अंतर का कारण बनता है?

दोनों मशीनों में बिल्कुल समान हार्डवेयर विन्यास है।


1
मजेदार, मेरा अनुभव बिल्कुल विपरीत है - मेरे सभी पीसी पर, विंडोज में प्रोग्राम लिनक्स की तुलना में बहुत तेजी से लोड होते हैं (विशेषकर विंडोज 7 के तहत, जो अनुमान लगाता है कि आप पिछले उपयोग के आधार पर कौन से प्रोग्राम खोलेंगे, और उन्हें मेमोरी में प्रीलोड करते हैं। ) । शायद उसकी विंडोज मशीन ब्लोटवेयर से भरी है? क्या कंपनी केवल एंटी-वायरस विंडोज है? क्या आपने एक ही मशीन पर लिनक्स चलाने की कोशिश की है (हार्ड-ड्राइव को विफल करने से लोड समय बहुत अधिक प्रभावित होता है)
ब्लूराजा - डैनी पफ्लुगुएफ्ट

@ आपकी टिप्पणी के लिए BlueRaja-DannyPflughoeft धन्यवाद। जैसा कि मैंने सवाल पर बताया, दोनों मशीनों में समान हार्डवेयर विन्यास है, दोनों ही विंडोज 7 के साथ आए थे लेकिन मैं एक लिनक्स उपयोगकर्ता हूं और नहीं, उनकी खिड़कियां फूला नहीं है
गेरेप

1
@ BlueRaja-DannyPflughoeft मैंने एक दिलचस्प बात यह पाई कि एक एंटीवायरस के एक विंडोज़ पर सेट होने के बाद, यह बहुत अधिक सुस्त हो जाता है। तो, वास्तव में, ब्लोटवेयर में कोई ज़रूरत नहीं है, बस एक एंटीवायरस स्थापित करें। GNU / Linux को एक (कम से कम अभी तक) की आवश्यकता नहीं है , और इस छोटी सी बात ने और भी अधिक प्रदर्शन दिया।
हाय-एंजेल

जवाबों:


8

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

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

for (int i = 0; i < 20; i++)
{
    if (x == y)
    {
        if (z <= u)
        {
            goto banana;
        }
    }
}

ऊपर दिए गए उदाहरण को और अधिक कुशलता से किया जा सकता है;

for (int i = 0; (i < 20) && (x == y) && (z <= u); i++)
{
    banana ();
}

1
मैं प्रोग्रामर क्षेत्र में विश्वास करता हूं, वर्तमान सहमति यह है कि संकलक में आलसी और / या मैला कोडिंग अच्छी तरह से अनुकूलित है। हालांकि, कंपाइलर ब्लोट और विरासत की मदद नहीं कर सकते हैं, जो हो सकता है - और आपके इरादे से संबंधित हो।
क्रिस के

4
उन दोनों कोड उदाहरण लगभग निश्चित रूप से एक ही चीज़ के लिए संकलित होंगे (शून्य से फ़ंक्शन-कॉल बनाम गोटो) ...
ब्लूराजा - डैनी पफ्लुघोफ्ट

@ BlueRaja-DannyPflughoeft मुझे पता है, लेकिन मुझे इसे समझाने के लिए एक सरल उदाहरण की आवश्यकता थी।
रॉबिनज

5

अभी तक एक और बड़ा उल्लेख नहीं है कि लिनक्स में बेहतर फाइल सिस्टम हैं। छोटी फ़ाइलों के साथ NTFS का प्रदर्शन इतना बढ़िया नहीं है - ext3 बेहतर है, और ext4 बहुत बेहतर है। एक और सवाल में कुछ दिलचस्प अटकलें क्यों हैं ।

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


4

यह सिर्फ मेरी राय है लेकिन मुझे लगता है कि GNU / Linux सिस्टम के विंडोज से तेज होने के विभिन्न कारण हैं और सभी कर्नेल से संबंधित नहीं हैं:

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

3

मेरा मानना ​​है कि कर्नेल अकेला उत्तर नहीं है। विंडोज 7 पहली बार विंडोज पर्याप्त रूप से उत्तरदायी था कि मैं इसे स्वीकार्य मानता हूं।

मेरा मानना ​​है कि सॉफ्टवेयर इंजीनियरिंग पर @ रॉबिनज के विचारों से अधिक गति का अंतर है। विंडोज में सब कुछ * MSDN पर Microsoft फ्रेमवर्क या किसी अन्य के माध्यम से बनाया गया है। यह वास्तव में संबंधित है कि बिग बिजनेस माइक्रोसॉफ्ट से कैसे प्यार करता है; Microsoft सभी विभिन्न कार्यक्रमों / सुइट्स / तकनीकों को एक दूसरे से बात करने में मदद करने के बारे में है।

अगला ... डेवलपर्स के लिए यह आसान बनाने के लिए आवश्यक है कि कवर किया जाए (और पहिए को फिर से नहीं लगाया जाए) Microsoft निर्माताओं को Microsoft Visual C ++ 2008 पुनर्वितरण योग्य जैसे precompiled पुस्तकालयों को बंडल और / या करने की अनुमति देता है। या .Net4.0, MSSQL 2005, विज्ञापन nauseum। कुछ ऐसे हैं जैसे दस साल के पैकेज डेवलपर नए सॉफ्टवेयर का उपयोग करने के लिए अपने विंडोज कंप्यूटर पर इंस्टॉल करने के लिए डेवलपर्स का उपयोग कर सकते हैं और उनका निर्माण कर सकते हैं।

तो कार्यक्रम Zyzzyx को लोड करने और चलाने के लिए, एक या अधिक MSDN पुनर्वितरण योग्य पुस्तकालयों को प्रस्तुत करना और चलाना होगा। ये लाइब्रेरी यह निर्धारित करती है कि ओएस के साथ प्रोग्राम कैसे इंटरैक्ट करते हैं।

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

जोड़ने के लिए संपादित: आगे, FOSS सॉफ़्टवेयर में लोगों को हर समय सुधार होता है, इसलिए GTK-2005 और GTK-2008 एक ही कंप्यूटर पर होने के बजाय GTK में सुधार होगा, जबकि Microsoft हर समय ऐसा करता है।

* - ठीक है कुछ अपवाद हैं, मुझे यकीन है।

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