Computer System Organization & Types of Operating Systems
Press Next → or use ← → arrow keys
Computer System Organization — The Big Picture
Everyone shares one narrow corridor — the system bus. The closer a resource sits to the chef, the faster, smaller and pricier it is.
The CPU and every device controller can work at the same time, but they all compete for the memory bus. A memory controller arbitrates access so no two talkers corrupt each other. Often it is bus bandwidth — not raw clock speed — that limits a system.
A Modern Computer at Work
The coloured dots are data moving across the shared bus. Because only one device can drive the bus at a time, high-throughput devices use DMA (coming up) to move whole blocks without making the CPU babysit every byte.
The Memory Hierarchy — Data Flows Up and Down
No single technology is fast, huge, cheap and non-volatile at once. So we stack many: tiny-fast at the top, vast-slow at the bottom. Hot data bubbles up toward the CPU; cold data is evicted down.
The Hierarchy in Numbers
| Layer | Access | Size | Volatile? | Managed by |
|---|---|---|---|---|
| Registers | ~0.3 ns | <1 KB | Yes | Compiler |
| L1 Cache | ~1 ns | 32–64 KB | Yes | Hardware |
| L2 / L3 Cache | 3–10 ns | 256 KB–64 MB | Yes | Hardware |
| Main Memory | ~100 ns | 8–128 GB | Yes | Operating System |
| SSD | 50–100 µs | 256 GB–4 TB | No | Operating System |
| HDD | 3–10 ms | 1–20 TB | No | Operating System |
| Optical / Tape | Seconds | Unlimited | No | Operator / Software |
The same trick repeats at every scale — CPU cache, OS disk cache, DNS, browser cache, CDN. It works because of locality: data used recently is likely used again (temporal), and its neighbours are likely next (spatial).
The Middleman — How the CPU Talks to Devices
It writes a command into the controller's registers, the controller drives the physical device, and when the work is finished it raises an interrupt to say "done." Clean, safe, and it frees the CPU to do other things meanwhile.
Polling vs Interrupts vs DMA
Polling burns 100% of the CPU. Interrupts free it but cost one interrupt per byte. DMA hands a whole block to a dedicated engine and fires a single interrupt when finished — roughly 4000× fewer interrupts for a 4 KB transfer.
The Operating-System Family Tree
Each family is a response to a specific workload — throughput, interactivity, deadlines, scale, or tiny footprints. They are not mutually exclusive: your phone blends mobile, soft-real-time and embedded ideas at once.
Batch OS — One Job at a Time
Multiprogramming — Keep the CPU Busy
Hold several jobs in memory. The moment one blocks on I/O, run another — so something is always on the CPU. Making this safe requires memory management, CPU scheduling and I/O management — the three pillars every OS still rests on.
Multitasking & Time-Sharing — The Quantum Cycle
| Property | Multiprogramming | Time-Sharing |
|---|---|---|
| Switch trigger | I/O wait | Timer interrupt (preemptive) |
| Goal | Maximise CPU use | Minimise user response time |
| Interaction | Little / none | High (terminals / GUI) |
| Era & examples | 1960s · IBM OS/360 | 1970s→today · UNIX, Windows, macOS |
Real-Time OS — Meeting the Deadline Every Time
Three Flavours of Real-Time
| Characteristic | General-Purpose OS | Real-Time OS |
|---|---|---|
| Primary goal | Fairness & throughput | Predictable deadlines |
| Scheduler | Priority + fairness (CFS) | Priority-based, deterministic |
| Kernel size | Millions of lines | Tens of thousands |
| Interrupt latency | ~100 µs (variable) | <10 µs (bounded) |
| Memory model | Virtual memory, paging | Often no paging (avoids jitter) |
Distributed & Clustered Systems
| Type | Coupling | Illusion | Examples |
|---|---|---|---|
| Network OS | Loose | You address each remote machine (ssh, ftp) | Any networked Linux/Windows |
| Distributed OS | Tighter | Single system image | Amoeba, Plan 9, LOCUS |
| Clustered OS | Very tight (LAN) | High availability or HPC | Beowulf, Oracle RAC, Failover |
Embedded, Mobile & Cloud
Real devices mix families: a phone is mobile + soft-RTOS + embedded; a cloud server is multitasking + time-sharing + clustered. The categories are lenses, not silos.
All OS Types, Side by Side
| Type | Primary Goal | Interaction | Response | Example |
|---|---|---|---|---|
| 🗃️ Batch | Throughput | None | Hours | Nightly payroll |
| 🔀 Multiprogramming | CPU utilisation | Minimal | Minutes | Mainframe + I/O overlap |
| 🖱️ Multitasking | Concurrent programs | High | Seconds | Windows, macOS, Linux |
| ⏳ Time-Sharing | Fair CPU per user | High (multi-user) | Milliseconds | UNIX / SSH servers |
| ⏱️ Real-Time (Hard) | Deadline guarantee | Machine-only | µs (bounded) | Airbags, VxWorks |
| 🌐 Distributed | Resource sharing | Transparent | Network-dependent | Plan 9, Amoeba |
| 🖥️ Clustered | Availability / HPC | Transparent | Low failover | Beowulf, Oracle RAC |
| 📱 Embedded / Mobile | Device function | Touch / voice / none | Real-time-ish | iOS, Android, FreeRTOS |
Which OS Type Fits Which Problem?
Eight Ideas Worth Remembering
From Silicon to System Design
From the shared bus and the memory pyramid, through controllers and DMA, up to the eight OS families — you can now explain why a computer is built the way it is, and which operating system any given job demands.
Explore CPU scheduling algorithms, memory management and paging, then
concurrency. On Linux, try lscpu, free -h,
lsblk and vmstat 1 to watch these ideas live.
🖧 End of tutorial · Press ← to review, or click Restart