ডিভাইস ড্রাইভার এবং কার্নেল


4

ডিভাইস ড্রাইভারগুলি একটি OS কার্নেলের অংশ, কার্নেলের বাইরে, অথবা কিছু কার্নেলের অংশ এবং অন্য কার্নেলের বাইরে?

তৃতীয়টি যদি সঠিক হয় তবে কোন ডিভাইসের ড্রাইভারগুলি সাধারণত কার্নেলের অংশ এবং কার্নেলের বাইরে কি?

যদি ওএসটি নির্দিষ্ট হতে চায় তবে আমি লিনাক্স (উবুন্টু) এবং উইন্ডোজ 7 সম্পর্কে জানতে আগ্রহী।

ধন্যবাদ!

উত্তর:


5

উইন্ডোজগুলিতে, সমস্ত ড্রাইভার কার্নেল থেকে পৃথক পৃথক ফাইলগুলিতে থাকে।

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

লিনাক্সের জন্য, কার্নেলের মধ্যে বুট করার সময় আপনার ডিভাইসগুলি অ্যাক্সেসযোগ্য হতে হবে। এতে ডিস্ক কন্ট্রোলার ড্রাইভার, নেটওয়ার্ক ড্রাইভার (নেটওয়ার্ক বুটের জন্য), সিরিয়াল পোর্ট বা VGA কনসোল ড্রাইভার (ডায়গনিস্টিক বার্তা প্রদর্শন করতে), এবং এই ডিভাইসগুলি অ্যাক্সেস করতে CPU- র প্রয়োজনীয় মধ্যস্থতাকারী হার্ডওয়্যারগুলির জন্য বাস ড্রাইভার (যথা USB কন্ট্রোলার, পিসিআই, আইডিই, এবং / অথবা সম্ভবত চিপসেট ড্রাইভার)।

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

উইন্ডোজ কিছু ড্রাইভারকে "বুট টাইম" ড্রাইভার হিসাবে চিহ্নিত করতে পারে। এটি সাধারণত উপরে সনাক্ত করা ড্রাইভারগুলির মতো একই বিভাগ হতে পারে। আপনি সেফ মোড অ্যাক্সেস করলে, ড্রাইভারের স্ক্রোলের গুচ্ছগুলির নামগুলি দেখতে পাবেন, এটি সমস্ত বুট টাইম ড্রাইভার।


1
কয়েকটি নোট, বেশিরভাগ উইন্ডোজ: 0) ড্রাইভারগুলি সাধারণত কার্নেল মোডে (x86 রিং 0) চালায়, তবে উইন্ডোজটিতে রিং-3 ড্রাইভারগুলির জন্য "ইউজার মোড ড্রাইভার ফ্রেমওয়ার্ক" রয়েছে। 1) হুইসেল বাইরের মধ্যে Beep.sys। 2) আপনি ইনস্টলেশন মিডিয়াতে অতিরিক্ত ড্রাইভার অন্তর্ভুক্ত করতে পারেন, তবে কার্নেলের অংশ হিসাবে (NTOSKRNL) নয়। একই উইন্ডোজ রিলিজে, এমবেডেড বা নয়, তে প্রযোজ্য।
grawity

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

@ জেডিবিপি: কিন্তু কিভাবে এটি লোড করে, উদাহরণস্বরূপ, %SystemRoot%\system32\drivers\ntfs.sys? (আইআইআরসি, বুট লোডারের কার্নেল লোড করার জন্য এনটিএফএস সমর্থন নির্মিত হয়েছে, কিন্তু কার্নেল কী করে তা সম্পর্কে আমি জানি না।) // অধিকাংশ লিনাক্স সিস্টেম বুট করার জন্য প্রয়োজনীয় ড্রাইভার লোড করতে "initrd" সংরক্ষণাগার ব্যবহার করে; উইন্ডোজ "বুট স্টার্ট ক্লাস ড্রাইভার" হিসাবে একই হতে পারে?
grawity

1
আপনি parenthetical বাক্য আপনার প্রথম প্রশ্নের উত্তর দিয়েছেন। আপনার দ্বিতীয় প্রশ্নটি নিজের অধিকারে একটি সঠিক প্রশ্ন, যার সংক্ষিপ্ত উত্তর হল "সংখ্যা" এবং কোনও মন্তব্যের সাথে মোকাবিলা করার জন্য এটি অত্যন্ত দীর্ঘ।
JdeBP

1
... যেহেতু উইন্ডোজ এনটি সংস্করণ 5 (যেহেতু উইন্ডোজ এনটি সংস্করণ 5) উইন্ডোজ এনটি 6 বেশ ভিন্নভাবে কাজ করছে ), প্রক্রিয়া যে জন্য সব কাজ করে না এআরসি এবং আপনি EFI , এবং ফাইল সিস্টেম সনাক্তকারী FSD লোডিং প্রক্রিয়া জটিল। আমি বললাম, এই মন্তব্যের জন্য খুব দীর্ঘ। প্রশ্ন তৈরি কর.
JdeBP

5

'কার্নেলের অংশ' ব্যাখ্যা করার দুটি উপায় রয়েছে।

কার্নেল ডিস্কে একটি ফাইল হিসাবে বুট (বুট) শুরু হয়। আপনি যদি ডিস্ক সম্পর্কে জিজ্ঞাসা করেন, তবে তারা কার্নেলের অংশ নয়, তবে পৃথক ফাইলগুলি। প্রায় সব সিস্টেম এখন তাদের পৃথক ফাইল হিসাবে আছে। সত্যিই পুরানো ইউনিক্স দিনগুলিতে, ড্রাইভার যোগ করার অর্থ কার্নেল .o ফাইলগুলিতে একটি .o ফাইল যোগ করা এবং একটি কার্নেল পুনরায় সংযুক্ত করা।

আপনি যদি 'কার্নেল চলমান চিত্রের অংশ' বোঝাতে চান তবে এটি নির্ভর করে। উইন্ডোজ উভয় করতে পারেন। প্রকৃতপক্ষে ডিসপ্লে ড্রাইভারটি কার্নেলের অংশটি কিছু সময় আগে কার্নেল চলমান চিত্রের অংশ হতে (3.51 থেকে NT4.0 পর্যন্ত) পারফরম্যান্সের কারণে অংশে স্থানান্তরিত হওয়ার কারণে সরানো হয়েছে।

ওএস ডিজাইনের দুটি সাধারণ স্কুল রয়েছে:

এক একটি macrokernel বলা হয়। সমস্ত অপারেটিং সিস্টেম স্টাফ একক কার্নেল চলমান ছবিতে পরিচালিত হয়। লিনাক্স এবং সবচেয়ে ইউনিক্স এই ভাবে চালানো। সুবিধা এটি দ্রুত, কার্নেলের সমস্ত অংশ কার্নেলের অন্যান্য অংশগুলি পড়তে পারে এবং মেমরি পড়তে এবং লিখার মাধ্যমে যোগাযোগ করতে পারে। নেতিবাচক দিকটি কিছুক্ষণ পরে নোংরা হয়ে যায় এবং এখন আপনার ব্যবহারের সমন্বয় দরকার। আপনি উদ্দেশ্য উপর কিছু করতে পারেন, কখনও কখনও আপনি দুর্ঘটনা এটা করতে পারেন। কোন সুরক্ষা আছে, এবং আপনি একটি কার্নেল প্যানিক পেতে পারেন।

অন্যটিকে একটি মাইক্রোকারেল বলা হয় (যা উইন্ডোজ এনটি শুরু হতে শুরু করে এবং উইন্ডোজ এখনও সাজানোর)। তত্ত্বটি কার্নেল কাজ করে না, কিন্তু খামারগুলিকে বিশেষ কোডে কাজ করে, তবে কোডটি মেমরির স্থানটিতে চলছে না। এই অন্যান্য কোড কার্নেল মেমরি, বা অন্য কেউ এর স্পর্শ করতে পারেন। উল্টো, ফল্ট থেকে বিচ্ছিন্নতা - খারাপ অ কার্নেল কোড কার্নেল নষ্ট করতে পারে না। Downside - কার্নেল মোডে পিছনে যাচ্ছে জিনিস নিচে ধীর। এ কারণে ডিসপ্লে চালকটি এনটি 4.0 তে ক্রলারে স্থানান্তরিত হয়েছিল।

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

ম্যাক্সএক্স আসলে একটি হাইব্রিড মাইক্রোক্রেন / ম্যাক্রো-ইউনিক্স-কার্নেল নকশা ব্যবহার করে টেকনিক্যালি আকর্ষণীয়। এটি পুরানো OS9 বাইনারিগুলিকেও সমর্থন করে - অ-কার্নেল স্পেস জিনিসগুলিতে যেগুলি কার্নেলগুলি MacOS9 এ কল করে।

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


ধন্যবাদ! আমি "macrokernel" এবং monolithic কার্নেল যদি বিস্মিত ছিল en.wikipedia.org/wiki/Monolithic_kernel ) একই ধারণা?
Tim

@ টিম, @ রাইচ: "ম্যাক্রোকারেল" আছে না মানে "একক" - পরিবর্তে এটি অন্য শব্দ বলে মনে হচ্ছে হাইব্রিড কার্নেল । উইন্ডোজ এনটি "সংকর" হিসাবে শ্রেণীবদ্ধ করা হয়।
grawity

এছাড়াও উল্লেখযোগ্য মূল্য জিএনইউ হার্ড (প্রায় মাইক্র মাইক্রোকনেল সব ব্যবহারকারীর স্থান)।
grawity

1
এই উত্তর বিভ্রান্তি অন্য মন্তব্য তৈরি grawity এর অন্য বিন্দু থেকে উত্পন্ন। "কার্নেল মোডে কার্যকরকরণ" এবং "কার্নেল প্রোগ্রাম চিত্রের অংশ হওয়া" এর মধ্যে একটি পার্থক্য রয়েছে। দ্য Win32 গ্রাফিক্স সাব-সিস্টেম কার্নেল মোডে চলছে উইন্ডোজ এনটি সংস্করণ 4 থেকে সংস্করণ 5 (সংস্করণ 6 আবার জিনিসগুলি পরিবর্তিত) থেকে, তবে এটি কার্নেল প্রোগ্রাম চিত্রের অংশ নয়।
JdeBP
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.