Shame on me that I’ve been in this industry for a few years but still confused about the difference between computer OS.
1. What is OS?
An OS (Operating System) is the fundamental software that manages a device’s hardware and software resources. It acts as a bridge between the user, applications, and physical components (like the CPU and memory), ensuring everything runs smoothly.
2. Kernel & Shell
- Kernel:
The heart of the OS, responsible for direct communication with the hardware: managing the CPU, memory, ensuring different processes run efficiently without interfering with each other, etc.
| Type | Description | Example |
|---|---|---|
| Monolithic | Everything in one big kernel | Linux |
| Microkernel | Minimal kernel, services run separately | Seen in Embedded systems |
| Hybrid | Mix of both | Used in Windows |
- Shell: Acts as a UI for interacting with the kernel.
┌─────────────────────────────┐
│ You │
│ (typing commands) │
├─────────────────────────────┤
│ Shell │ ← Translates your commands
│ (bash, zsh, fish) │
├─────────────────────────────┤
│ Kernel │ ← Does the actual work
├─────────────────────────────┤
│ Hardware │
└─────────────────────────────┘
Types of shells:
| Shell | Full Name | Notes |
|---|---|---|
| bash | Bourne Again Shell | Most common, default on Ubuntu |
| zsh | Z Shell | Popular, used by default on macOS |
| fish | Friendly Interactive Shell | Beginner friendly, colorful |
| sh | Bourne Shell | Original Unix shell, very basic |
| PowerShell | Windows shell (more powerful than CMD) | |
| CMD | Command Prompt | Old Windows shell |
Note: Finder on macOS, Windows Explorer on Windows are part of GUI system which built on top of the kernel and shell.
3. UNIX, Windows
UNIX is the original OS that is founded in 1969.
- UNIX-based: macOS.
- UNIX-like: Inspired from UNIX but not derived -> Linux kernel
- Ubuntu, Debian, etc. (Linux distribution)
- Android (Linux kernel)
- Cloud infrastructure (AWS, Google, Azure)
Windows is completely different from UNIX. Built on top of MS-DOS and later Windows NT kernel.
Refs: