1. Shell
- Definition: The shell is the user interface for interacting with the operating system.
- Role: It takes commands from the user (text commands in CLI like
bash
, or graphical ones in GUI shells like Windows Explorer) and passes them to the OS to execute.
- Types:
- Command-line shell (e.g., Bash, Zsh, PowerShell)
- Graphical shell (e.g., Windows desktop, GNOME on Linux)
- Analogy: Think of it as the “translator” that lets a human talk to the computer.
2. Kernel
- Definition: The kernel is the core part of the operating system that directly interacts with hardware.
- Role:
- Manages CPU, memory, and devices.
- Provides system calls that applications use to request resources.
- Types:
- Monolithic kernel (Linux) — big, everything runs inside it.
- Microkernel (Minix, QNX) — minimal core, with services run outside.
- Analogy: The kernel is the “engine” of the operating system. It does the heavy lifting.
3. BIOS (Basic Input/Output System)
- Definition: BIOS is firmware stored on the motherboard that initializes hardware when you power on your computer.
- Role:
- Performs POST (Power-On Self Test).
- Loads the bootloader/OS from storage.
- Provides basic routines for input/output (keyboard, display, disk) before the OS takes over.
- Modern Equivalent: UEFI (Unified Extensible Firmware Interface) has mostly replaced BIOS in modern PCs.
- Analogy: The BIOS is like the “ignition system” of a car — it starts everything and hands over control to the main system.
4. Driver
- Definition: A driver is a small piece of software that allows the operating system to communicate with hardware.