जवाबों:
निर्भर करता है। यदि आपके पास थोड़ी मात्रा में मेमोरी है, तो मॉड्यूल का उपयोग फिर से शुरू में सुधार कर सकता है क्योंकि वे हर बार पुनः लोड नहीं किए जाते हैं (मुझे यह 2 गीब की रैम पर महत्वपूर्ण लगता है लेकिन पारंपरिक हार्डड्राइव पर 4 जीईबी पर नहीं)। यह विशेष रूप से सच है जब बैटरी मॉड्यूल में कुछ बग के कारण (संकलित किए जाने पर या मॉड्यूल के रूप में), इसे शुरू करने में बहुत समय लगा (कई मिनट)। यहां तक कि बगैर जेंटू पर बग मैं समय-समय पर ( systemd-analysis
33 द्वारा ) रिपोर्ट करने में कामयाब रहा, केवल संकलित कर्नेल से मॉड्यूल में बदलकर - 'आश्चर्यजनक रूप से' कर्नेल की शुरुआत 9 से 1.5 के दशक में बदल गई।
इसके अलावा, जब आप नहीं जानते कि आप किस हार्डवेयर का उपयोग करने जा रहे हैं, तो मॉड्यूल स्पष्ट रूप से फायदेमंद हैं।
पुनश्च। जब तक आप उन्हें initrd में शामिल करते हैं तब तक आप भी महत्वपूर्ण ड्राइवरों को मॉड्यूल के रूप में संकलित कर सकते हैं। उदाहरण के लिए, डिस्ट्रोस में स्थापना पर initrd में /, हार्डड्राइव के ड्राइवरों के फाइल सिस्टम शामिल होंगे।
जहां तक मुझे पता है, गति में कोई अंतर नहीं है।
मुझे लगता है कि आप कर्नेल मेमोरी के कुछ kB प्राप्त करेंगे क्योंकि आवंटन की ग्रेन्युलैरिटी एक पेज है, इसलिए विशिष्ट आर्किटेक्चर पर प्रत्येक मॉड्यूल औसतन 2kB () पेज) प्रति-मॉड्यूल होगा। एम्बेडेड सिस्टम पर भी, यह शायद ही महत्वपूर्ण है। आप थोड़ा डिस्क स्थान भी प्राप्त करते हैं क्योंकि मॉड्यूल कर्नेल के समान ही संकुचित हो सकते हैं; यह थोड़ा भंडारण के साथ एम्बेडेड सिस्टम में अधिक प्रासंगिक हो सकता है।
यदि आप पूरी तरह से मॉड्यूल के साथ वितरित कर सकते हैं, तो आप थोड़ी कर्नेल मेमोरी (मॉड्यूल लोडर की कोई आवश्यकता नहीं), डिस्क स्थान (मॉड्यूल उपयोगिताओं की कोई आवश्यकता नहीं) और सिस्टम जटिलता (आपके वितरण में एक विशेषता के रूप में मॉड्यूल लोडिंग को शामिल करने की आवश्यकता नहीं है) को बचाते हैं )। ये अंक कुछ एम्बेडेड डिजाइनों में काफी आकर्षक हैं जहां हार्डवेयर एक्स्टेंसिबल नहीं है।
एक जोड़ी संभावित लाभ। प्रदर्शन एक तर्कपूर्ण है। आप डायनेमिक लोडर के साथ जुड़े कुछ रनटाइम ओवरहेड से बचेंगे, लेकिन मुझे संदेह है कि जब तक आप वास्तविक समय पर निर्भर नहीं होते हैं, तब तक यह एक बड़ी बात है।
यदि आप अपने सिस्टम पर बड़े पृष्ठों का लाभ उठा रहे हैं, तो शायद एक बड़ी स्थिर कर्नेल छवि बनाने का अर्थ है कि आप पृष्ठ वर्णनात्मक कैश का अधिक कुशल उपयोग करते हैं। कुछ सिस्टम कर्नेल को 'पिंजरे' कर देंगे ताकि यह एक मेमोरी इलाके में कसकर पैक हो जाए, जो कि मामूली और संभवतः प्रमुख, पृष्ठ दोषों के कारण देरी की कुछ मात्रा को कम कर सकता है।
यह आपको एक बड़ी छवि प्रदान करने के लिए वास्तुशिल्प रूप से उपयुक्त हो सकता है, यह तर्क देते हुए कि कम स्वतंत्र मॉड्यूल बनाए रखना आसान है और लचीलेपन का नुकसान महत्वपूर्ण नहीं है। शैली और व्यवहार के मामलों में इस तरह के बहुत से कारण उद्यम करते हैं।
कभी-कभी यह आवश्यक है। यदि आप एक मॉड्यूल के रूप में कुछ महत्वपूर्ण ड्राइवर (जैसे SCSI ड्राइवर) संकलित करते हैं तो आपका सिस्टम बूट नहीं होगा।
मॉड्यूल के रूप में संकलन नहीं करने के लिए एक और महान उम्मीदवार रूट विभाजन का फाइलसिस्टम प्रकार है। यदि कर्नेल ext3
को पढ़ने के लिए समझ में नहीं आता है /lib/modules/
तो वह इससे मॉड्यूल कैसे लोड करेगा?
इसके बारे में इस तरह से सोचें: मॉड्यूल का उपयोग करने के लिए कर्नेल मॉड्यूल को पढ़ने और लोड करने के लिए आपके सिस्टम के बारे में पर्याप्त जानने की जरूरत है। उपयोग और परीक्षण और त्रुटि :-)