কার্নেলের অভ্যন্তরে সংকলিত কার্নেল মডিউলটির সুবিধা?


19

কার্নেলের মধ্যে কার্নেল মডিউলগুলি কম্পাইল করার সুবিধা কী (লোডযোগ্য মডিউলগুলির পরিবর্তে)?


উত্তর:


7

এটা নির্ভর করে. আপনার যদি অল্প পরিমাণে মেমরি থাকে তবে মডিউলগুলির ব্যবহার প্রতিবার পুনরায় লোড করা না হওয়ায় তারা পুনরায় জীবনবৃত্তির উন্নতি করতে পারে (আমি এটি 2 গিগাবাইট র‌্যামের উপর তাত্পর্যপূর্ণ হার্ডড্রাইভের উপর 4 জিবি নয় তবে তা গুরুত্বপূর্ণ বলে মনে করেছি)। এটি বিশেষত সত্য যখন ব্যাটারি মডিউলটিতে কিছু ত্রুটির কারণে (সংকলনযুক্ত বা মডিউল হিসাবে নির্বিশেষে) শুরু হওয়ার জন্য (বেশ কয়েক মিনিট) খুব বেশি সময় লেগেছিল। এমনকি বিন্দুতে বাগ না দিয়েই আমি systemd-analysisস্থিতিশীলভাবে সংকলিত কার্নেল থেকে মডিউলগুলিতে পরিবর্তিত হয়ে 33 থেকে 18 এর দশকের সময় কমিয়ে আউট করতে পেরেছি - 'আশ্চর্যজনকভাবে' কার্নেলের শুরুটি 9s থেকে 1.5 এ পরিবর্তিত হয়েছে।

এছাড়াও, আপনি কী হার্ডওয়্যার ব্যবহার করতে চলেছেন তা যখন জানেন না, মডিউলগুলি স্পষ্টভাবে উপকারী।

পুনশ্চ. আপনি এমনকি চালকগুলিকে মডিউল হিসাবে যতক্ষণ না ডিআরডি অন্তর্ভুক্ত করেন ততক্ষণ তা সংকলন করতে পারেন। উদাহরণস্বরূপ, ডিস্ট্রসগুলি / চালকগুলির হার্ডড্রাইভ ইত্যাদির ড্রাইভার সিস্টেমের ইনস্টলেশন সংক্রান্ত আরম্ভের অন্তর্ভুক্ত করবে।


আপনি এই উত্তরটি আবার মনোযোগ সহকারে পড়তে আপত্তি করেন না। আমার কাছে থাকতে হবে, তবে আমি জানি না আপনি জায়গায় কি বলতে চেয়েছিলেন, যেমন ... traditionalতিহ্যবাহী হার্ডড্রাইভগুলিতে
tshepang

আমার অর্থ চৌম্বকীয় (এসএসডি নিয়ে আমার কোনও অভিজ্ঞতা নেই)।
ম্যাকিয়েজ পাইচোটকা

আমি এটিকে আরও পাঠযোগ্য করে তোলার চেষ্টা করেছি। আমি কি এটি স্ক্রু না তা পরীক্ষা করতে পারেন?
tshepang

ধন্যবাদ। আমি সবেমাত্র পরীক্ষার সেশনটি শেষ করেছি যাতে আমার এটি দেখার সময় পেল না।
ম্যাকিয়েজ পাইচোটকা

7

আমি যতদূর জানি, গতির কোনও পার্থক্য নেই।

আমি মনে করি আপনি কার্নেল মেমরির কয়েক কেবি অর্জন করবেন কারণ বরাদ্দকরণের গ্রানুলারিটি এক পৃষ্ঠায়, তাই আদর্শ স্থাপত্যে প্রতিটি মডিউল গড় মডিউল প্রতি প্রায় 2 কেবি (½ পৃষ্ঠা) অপচয় করে। এমনকি এম্বেড থাকা সিস্টেমে, এটি খুব কমই গুরুত্বপূর্ণ। মডিউলগুলি কার্নেলের মতো একইভাবে সংকোচিত করা যায় বলে আপনি কিছুটা ডিস্কের স্থানও অর্জন করেছেন; এটি সামান্য স্টোরেজ সহ এম্বেড থাকা সিস্টেমে আরও প্রাসঙ্গিক হতে পারে।

আপনি যদি মডিউলগুলি পুরোপুরি সরবরাহ করতে পারেন তবে আপনি কিছুটা কার্নেল মেমরি (মডিউল লোডারের প্রয়োজন নেই), ডিস্ক স্পেস (মডিউল ইউটিলিটির প্রয়োজন নেই) এবং সিস্টেম জটিলতা (আপনার বিতরণে কোনও বৈশিষ্ট্য হিসাবে মডিউল লোড অন্তর্ভুক্ত করার প্রয়োজন নেই) সংরক্ষণ করুন )। এই এম্বেডেড ডিজাইনগুলিতে এই পয়েন্টগুলি বেশ আকর্ষণীয় যেখানে হার্ডওয়ারটি এক্সটেনসিবল নয়।


মডিউলটিতে একটি প্রতীক অ্যাক্সেস করা একটি সামান্য বিট ধীর (একটি দিকনির্দেশ জড়িত)। তবে যুক্ত নমনীয়তা (প্রয়োজনীয় হিসাবে লোড / আনলোড করতে পারে, হুবহু হার্ডওয়্যার ব্যবহারের জন্য একটি হ্যান্ড-টেলার্ড কার্নেল তৈরি করতে হবে না, ...) এটি যথেষ্ট মূল্যবান (যদি না আপনি খুব বাধা পরিবেশের জন্য নির্মাণ করছেন যা না করে কখনও পরিবর্তন হবে না)।
ভনব্র্যান্ড

4

একটি দম্পতি সম্ভাব্য সুবিধা। পারফরম্যান্স একটি তর্কযোগ্য। আপনি ডায়নামিক লোডারটির সাথে যুক্ত কিছু রানটাইম ওভারহেড এড়াতে চাইবেন তবে আমি সন্দেহ করি যে আপনি যদি রিয়েল-টাইম শিডিয়ুলারের উপর নির্ভরশীল না হন তবে এটি একটি বড় বিষয়।

যদি আপনি আপনার সিস্টেমে বড় পৃষ্ঠাগুলির সুবিধা নিচ্ছেন তবে সম্ভবত একটি বৃহত্তর স্ট্যাটিক কার্নেল চিত্র তৈরি করার অর্থ আপনি পৃষ্ঠা বর্ণনাকারী ক্যাশেটির আরও দক্ষ ব্যবহার করা। কিছু সিস্টেম কার্নেলকে 'খাঁচা' করবে যাতে এটি একটি মেমরির লোকেশনে শক্তভাবে প্যাক করে, যা কিছুটা বিলম্বকে অপ্রাপ্ত করতে পারে, যা সামান্য এবং সম্ভবত প্রধান ত্রুটির কারণে ঘটে।

ওয়ান বিগ ইমেজ সরবরাহ করার জন্য এটি স্থাপত্যিকভাবে আপনার পক্ষে উপযুক্ত হতে পারে, যুক্তিযুক্ত যে কম স্বতন্ত্র মডিউলগুলি বজায় রাখা সহজ এবং নমনীয়তা হ্রাস গুরুত্বপূর্ণ নয়। শৈলী এবং অনুশীলনের বিষয়গুলিতে প্রচুর যুক্তিযুক্ত উদ্যোগ।


2

কখনও কখনও এটি প্রয়োজনীয়। আপনি যদি মডিউল হিসাবে কিছু অত্যাবশ্যক ড্রাইভার (যেমন এসসিএসআই ড্রাইভার) সংকলন করেন তবে আপনার সিস্টেম বুট করবে না।

মডিউল হিসাবে সংকলন না করার জন্য আরেকটি দুর্দান্ত প্রার্থী হ'ল রুট পার্টিশনের ফাইল সিস্টেম। কার্নেল যদি ext3পড়তে না বুঝতে পারে /lib/modules/তবে এটি কীভাবে এটি থেকে মডিউলগুলি লোড করবে?

এটি সম্পর্কে এইভাবে ভাবুন: মডিউলগুলি ব্যবহার করতে কার্নেলের মডিউলগুলি পড়তে এবং লোড করার জন্য আপনার সিস্টেম সম্পর্কে কার্নেলের যথেষ্ট পরিমাণ জানতে হবে। এটি এবং বিচার এবং ত্রুটিটি ব্যবহার করুন :-)


আমি কিছু পারফরম্যান্স উন্নতি সম্পর্কে চিন্তা করছি ? কিছু আছে কি?
ফুনেহে

1
অতীতে লোকেরা কেবলমাত্র যা প্রয়োজন তা দিয়ে ক্ষুদ্রতম সম্ভাব্য কার্নেল তৈরি করতে ব্যাপক পরিমাণে যায় । আজ এটি মূলত পরিবর্তিত হয়েছে। আসলে, আপনি যখনই প্রথম কোনও মডিউল লোড করবেন তখনই আপনি একটি ছোট পারফরম্যান্স হিট হবেন। : বলবেন না যে আপনি কার্নেল সবকিছু কম্পাইল করা উচিত :-) এই দেখুন articleinput.com/e/a/title/...
nc3b

অ-অত্যাবশ্যক ড্রাইভার বা কার্যকারিতা জন্য কোন সুবিধা আছে? উদাহরণস্বরূপ যদি আমি অন্য প্রয়োজন বা কার্যকারিতা ছাড়াই টার্মিনাল এবং গুচ্ছ নেটওয়ার্ক ইউটিলিটি ব্যবহার করতে চাই। আমি কি লোডেবল মডিউল ছাড়াই কার্নেলের অভ্যন্তরে প্রয়োজনীয় সমস্ত মডিউল এবং ড্রাইভারটি সংকলন করব তাতে কি কোনও সুবিধা আছে?
uray

3
ষাঁড়. একটি সিস্টেম একটি এসসিএসআই ড্রাইভারের সাথে একটি আরআরআরডির মডিউল হিসাবে সূক্ষ্ম বুট করবে। এটাই তাদের জন্য।
wzzrd

হ্যাঁ ... এর জন্য মডিউলটি কোনও
ডিআরডে প্রদান করা হয়েছে

2

আমি কার্নেলের অভ্যন্তরে অন্তর্নির্মিত হার্ডওয়ারের জন্য প্রতিটি ড্রাইভারকে স্থিতিশীলভাবে সংকলন করি। ব্যতিক্রম হ'ল এমন হার্ডওয়্যার যা স্থায়ী নয় (উদাহরণস্বরূপ ইউএসবি সংযুক্ত হার্ডওয়্যার)।

যেহেতু আমার হার্ডওয়্যার কনফিগারেশনটি শীঘ্রই যে কোনও সময় পরিবর্তিত হওয়ার সম্ভাবনা নেই, তাই আমি মডিউলগুলি নিয়ে বিরক্ত করি না।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.