Chapter :-1 (Hindi)
5. Kernel
Kernel in Operating System
Kernel क्या है?
Kernel किसी भी Operating System का मुख्य (core) भाग होता है।
यह software applications और computer के hardware के बीच एक bridge (सेतु) की तरह कार्य करता है।
Kernel के कार्य
-
Kernel system के सभी resources जैसे CPU, memory और devices को manage करता है, ताकि पूरा system smoothly और efficiently कार्य करे।
-
यह programs को run करने, files को access करने और printers, keyboard जैसे devices से connect करने जैसे कार्यों को handle करता है।
Operating System और Kernel का संबंध
एक Operating System के अंदर kernel उसका मुख्य भाग होता है, लेकिन OS केवल kernel तक सीमित नहीं होता।
Operating System अतिरिक्त रूप से प्रदान करता है:
-
User Interface (UI)
-
File System Management
-
Network Services
-
विभिन्न utility applications
ये सभी मिलकर users को system के साथ interact करने की सुविधा देते हैं।

Kernel के मुख्य कार्य
-
Hardware और user applications के बीच communication को आसान बनाता है।
-
Efficient और secure multitasking सुनिश्चित करता है।
-
System की stability बनाए रखता है और unauthorized resource access को रोकता है।
Types of Kernel
नीचे विभिन्न प्रकार के Kernel दिए गए हैं:
1. Monolithic Kernel
इस प्रकार के kernel में सभी OS services kernel space में run करती हैं → यह fast होता है, लेकिन fault-isolation कम होती है।
Examples: Unix, Linux, OpenVMS, XTS-400
2. Microkernel
इसमें kernel की functionality minimal होती है; अधिकांश services को user space में shift कर दिया जाता है → reliability बेहतर होती है, लेकिन overhead बढ़ सकता है।
Examples: Minix 3, Mach (जैसे Mach 3.0)
3. Hybrid Kernel
यह Monolithic + Microkernel का मिश्रण (mix) होता है। कुछ services speed के लिए kernel में रहती हैं और कुछ safety के लिए isolate की जाती हैं।
Examples: Windows NT family (Windows 2000, XP, Vista, 7, 8, 10), macOS / XNU, ReactOS, Haiku OS
4. Nanokernel
यह अत्यंत minimal kernel होता है, जो केवल basic hardware abstraction प्रदान करता है; बाकी सभी services बाहर रहती हैं।
Examples: Nemesis, MIT Exokernel projects (XOK, Aegis)
5. Exokernel
यह protection और management को अलग करता है; इसमें applications को hardware abstractions पर direct control दिया जाता है ताकि वे अपनी आवश्यकता के अनुसार abstraction बना सकें।
Functions of Kernel
Kernel कई महत्वपूर्ण कार्यों के लिए जिम्मेदार होता है, जो computer system के smooth operation को सुनिश्चित करते हैं, जैसे:
-
Process Management
-
Memory Management
-
Device Management
-
System Calls Handling
-
Interrupt Handling
-
Security and Protection

Functions of Kernel
1. Process Management
Processes की scheduling और execution को manage करता है।
2. Memory Management
Memory space का allocation और deallocation करता है, virtual memory को manage करता है तथा memory protection और sharing को संभालता है।
3. Device Management
Input/Output devices को manage करता है, hardware devices के लिए एक unified interface प्रदान करता है और device driver communication को handle करता है।
4. File System Management
File operations को manage करता है और applications को file system interface प्रदान करता है।
5. Resource Management
System resources जैसे CPU time, disk space और network bandwidth को manage करता है। आवश्यकता अनुसार resources का allocation और deallocation करता है।
6. Security and Access Control
Access control policies (जैसे user permissions और authentication) को लागू करता है।
7. Inter-Process Communication (IPC)
Processes के बीच communication को संभव बनाता है, जैसे message passing और shared memory mechanisms के माध्यम से।
Working of Kernel
-
Kernel OS का पहला भाग होता है जो boot के दौरान memory में load होता है और system चलने तक resident रहता है।
-
यह एक privileged mode में operate करता है जिसे kernel mode कहते हैं, जो user mode से अलग होता है। User applications सीधे hardware या critical resources को access नहीं कर सकतीं।
-
Applications अपनी request को system calls (या software interrupts) के माध्यम से kernel तक भेजती हैं।
-
Kernel request को handle करने के लिए user mode से kernel mode में switch करता है।
-
Kernel requested operation execute करता है, जैसे file I/O, process creation, या memory allocation।
-
Operation complete होने के बाद kernel result (या error) को वापस user space में भेजता है।
-
Multitasking के लिए kernel context switching करता है, जहाँ scheduler अगला process या thread चुनता है।