Kernel কি ?

Kernel কে operating system এর core component বলা যায়। operating system এর graphic interface দ্বারা computer system কে আমরা যদি কোন কাজ করতে নির্দেশ দেই, সরাসরি কম্পিউটার তা বুঝতে পারে না।

এক্ষেত্রে দরকার হয় translator এর, যার মাধ্যমে ওই নির্দেশ টি binary languageএ Translate হবে। operating system (OS) মধ্যে থাকা যে component টি এই কাজ করে তা হল KERNEL

এক্ষেত্রে Kernel, system hardware এবং softwareএর মধ্যে একটি mediator এর মত কাজ করে।kernel হল operating system (OS) এর central module।

Booting process এর সময় এটিই first program যা load হয়, এটি memoryর একটি protected area তে load হয়। এবং যতক্ষণ computer system এর সাথে power সংযুক্ত থাকে ততক্ষণ Kernel, memory তে উপস্থিত থাকে।

Kernel এর সাহায্যে operating system এর সব কাজ manage হয়, যেমন – process management, memory management, device management, I/O management ইত্যাদি।

Kernel এর Type

Design এবং functionality অনুযায়ী kernel কয়েক প্রকার এর হয়ে থাকে।

Monolithic Kernel

monolithic kernel হল একটি single code program যা memoryর single address space (Kernel Space) এর মধ্যে OS service গুলিকে load করতে পারে।

সব service যেমন – memory management, process management, I/O drivers, এবং memory driver’s ইত্যাদি kernel space এই থাকে, এতে access time অনেক কমে যায় এবং যার ফলে performance অনেকটা বেড়ে যায়।

কিন্তু এর size বেশ বড় হওয়ায় kernel maintain করা কঠিন।

Micro kernel

Micro kernel, system process run করার জন্য kernel এবং user space দুটিই ব্যবহার করে। Kernel বিভিন্ন process এ বিভক্ত থাকে যা service নামে পরিচিত।

Micro kernel এ শুধু মাত্র কিছু দরকারি service যেমন IPC (Inter-Process Communication), basic scheduler, বা scheduling primitives, basic memory handling, primary I/O primitives ইত্যাদি kernel space এ থাকে।

বাকি সব service যেমন – Scheduler, memory handling, file systems, এবং network stacks ইত্যাদি separately user space থেকে run হয়। এর ফলে kernel size অনেকটা কমে যায়।

Hybrid Kernel

Hybrid Kernel হল micro-kernel বড় রুপ এবং এতে Monolithic kernel এর কিছু functionality যুক্ত থাকে। hybrid kernel ও micro-kernel এর মত কিছু serviceএ বিভক্ত থাকে, এবং এই service গুলি সব Monolithic kernel এর মত kernel space থেকে executed হয়।

windowsএর NT kernels এবং mac OS এর XNU kernel এর উধাহরন।

Function of Kernel

kernel হল OS এর function manager । এর কাজ হল OS এর primary task গুলিকে manage করা।

Memory Management : Kernel কম্পিউটার এর process সংগঠিত হওয়ার জন্য virtual এবং physical memory সংরক্ষণ করে। যদি physical memory তে কোন process complete না হয়ে থাকে তবে kernel, hard diskএ virtual space allot করে যাতে operation টি ভবিস্বতের জন্য store হতে পারে। এই concept টি কে virtual mapping বলা হয়।

Scheduler : process execution এর সময় Kernel scheduler হিসেবে কাজ করে।

Device Management : Kernel, device driver এর মাধ্যমে কম্পিউটার এর peripheral গুলির activity control করে । Device drivers হল একটি program যা operating system কে hardware device (যেমন – printer, scanner, modems, keyboard, mouse ইত্যাদি) এর সাথে interact করতে সাহায্য করে। এই driver, operating system এর function call কে device-specific call এ রূপান্তরিত করে।