Recall Feynman: ek 12-saal ke bachche ko explain karo
Ek school ki kalpana karo. Principal sab kuch kar sakta hai — safe kholna, kuch bhi sign karna (yeh kernel mode hai). Students ko special cheezoon ke liye permission maangni padti hai (yeh user mode hai).
Monolithic = principal personally sab kuch karta hai — padhana, khana banana, pipes theek karna. Super fast (koi idhar-udhar poochhna nahi), lekin agar principal banana peel par fisal jaaye, toh poora school band ho jaata hai.
Microkernel = principal sirf chaabiyaan aur schedule rakhta hai; khana banana, padhana, plumbing alag staff karte hain jo aapas mein notes bhejte hain. Agar cook chod de, school chalta rehta hai — lekin saari woh note-passing slow hai.
Hybrid = zyaadatar alag staff, lekin principal personally sachchi urgent kaam handle karta hai time bachane ke liye.
Woh ek CPU feature kya hai jise "OS structure" actually organize kar raha hai?
Kaun si services kernel mode vs user mode mein chalti hain (privilege rings).
Monolithic kernel ko define karo.
Saari core OS services (scheduler, memory, FS, drivers, networking) kernel mode mein saath chalti hain, ek doosre ko direct function calls se call karti hain.
Monolithic kernel fast kyun hai?
Services ek address space share karti hain, isliye woh plain function calls se communicate karti hain — koi boundary crossings ya data copies nahi.
Services isolated user processes hain; agar ek crash ho toh kernel bachta hai aur use restart kar sakta hai. Trusted code base tiny hai.
Microkernel typically slower kyun hota hai?
Requests user/kernel boundary bahut baar cross karti hain IPC message-passing ke zariye; har crossing ek trap + context switch + copy ki cost lagaati hai.
Hybrid kernel ko define karo.
Microkernel-style modular design, lekin performance-critical services ko IPC overhead se bachne ke liye kernel space mein run kiya jaata hai.
Ek-ek example do: monolithic, microkernel, hybrid.
Monolithic = Linux; Microkernel = MINIX 3 / QNX; Hybrid = Windows NT / macOS.
Kya Linux ka module system ek microkernel feature hai?
Nahi. Loadable modules phir bhi kernel mode mein chalte hain (koi isolation nahi) → Linux monolithic rehta hai.
Communication-cost model aur yeh kya explain karta hai.
C ≈ n·s jahan n = boundary crossings, s = har crossing ki cost; explain karta hai ki microkernels (bada n) slower kyun hote hain.
Teeno structures ko speed aur reliability ke hisaab se order karo.