C
OS//Lesson 01

Operating Systems — The Invisible Conductor of Your Computer

30 min·theory

Operating Systems — The Invisible Conductor of Your Computer

🎯 After reading this lesson

After finishing this lesson, you will be able to confidently do the following three things.

  • ✅ Explain in one sentence how an OS (Operating System — the foundational software that manages a computer's resources) works
  • ✅ Understand how processes (units of a running program) and threads (smaller execution units within a single process) affect performance
  • ✅ Answer typical interview questions about memory and GC (Garbage Collector — automatic reclamation of unused memory)

Keep the learning objectives as a checklist and close the lesson only when you can answer all of them.

💻 The People Who Built Operating Systems — 4 Figures, 4 Panels

01
Ken ThompsonKen Thompson
Creator of UnixBell Labs → Google1943~Present

The person who coded the first version of Unix alone in a month — the starting point of every modern OS

  • 1969 Wrote the first version of Unix on a PDP-7 at Bell Labs in just four weeks
  • 1971 Official release of Unix 1st Edition, introducing core concepts such as pipes and a hierarchical file system
  • 1983 Shared the Turing Award with Dennis Ritchie — 'for their development of generic operating systems theory and specifically for the implementation of the UNIX operating system'
  • 2007 Joined Google and co-designed the Go language alongside Rob Pike
Unix → BSD → Linux → macOS → Android. The common ancestor of all modern operating systemsUNIX · OS Founder
02
Dennis RitchieDennis Ritchie
Co-creator of Unix · Creator of CBell Labs1941-2011

The genius who rewrote Unix in C — simultaneously creating two standards: an OS and a programming language

  • 1972 Released the first version of the C language — later became the standard for 'a high-level language capable of writing an OS'
  • 1973 Rewrote Unix in C together with Thompson, leading to an explosion in portability
  • 1978 Co-authored 'The C Programming Language (K&R)' with Brian Kernighan
  • 1983 Received the Turing Award and the 1998 U.S. National Medal of Technology
The C language + Unix — the foundation of every operating system, embedded system, and systems programming disciplineC & UNIX · Father of Systems
03
Linus TorvaldsLinus Torvalds
Creator of Linux KernelHelsinki → OSDL → Linux Foundation1969~Present

A University of Helsinki undergraduate who started an OS as a hobby — 35 years later, 96% of the world's servers run on it

  • 1991 Released Linux 0.01 while a student at the University of Helsinki, starting as an alternative to Minix
  • 1996 Linux 2.0 added SMP multiprocessor support, marking Linux's serious entry into the server market
  • 2005 Wrote Git in just two weeks — a tool for Linux kernel development that became an industry standard
  • 2024 Linux now runs on 96% of cloud servers, 7.5 billion Android devices, and embedded systems across the board
The Linux kernel — the common foundation for servers, cloud, Android, and embedded systemsLINUX · Kernel Founder
04
Steve WozniakSteve Wozniak
Designer of Apple I & IIApple Computer (co-founder)1950s–Present

The engineer who single-handedly designed the personal computer — his one-liner: 'bring the computer to the desktop'

  • 1976 Personally designed the Apple I circuit and BASIC interpreter, and co-founded Apple with Steve Jobs
  • 1977 Launched the Apple II — color display, keyboard, and built-in BASIC. Sold one million units, popularizing the personal computer
  • 1979 Single-handedly designed the Disk II controller for the Apple II — a legendary feat implemented with just 8 ICs
  • 1985 Received the U.S. National Medal of Technology (jointly with Jobs)
Apple I & II — the hardware that ushered in an era where individuals could interact with an OS directlyAPPLE · Foundation of Personal Computers
💻
In a nutshell
Thompson & Ritchie (Unix · C) → Torvalds (Linux) → Wozniak (Apple). These four people shaped the entire trajectory of OS development, from servers to personal PCs.

Why You Need to Understand Operating Systems

In a nutshell: Every piece of code runs on top of an OS (operating system). Processes, memory, files, and I/O (Input/Output — disk and network input/output) define the limits of performance.


Tool Mapping — the English in each cell is just the concept or tool name; read the description on the right

DomainKey Concepts
Process (unit of a running program)PID · fork · context switching (process ID · cloning · the act of a CPU swapping between tasks)
Thread (smaller execution unit within a single process)mutex · semaphore · race condition (lock preventing concurrent access · traffic light · ordering bug)
Memoryvirtual memory · paging · OOM (simulating more memory than physical RAM · fragment management · out of memory)
File systeminode · ext4 · NTFS · APFS (file metadata unit · Linux/Windows/macOS storage formats)
SchedulingCFS · O(1) · real-time (rules determining which process gets CPU time and when)
Async I/Oepoll · kqueue · io_uring (mechanisms for handling many I/O operations concurrently without waiting)

5 Key Reasons

ReasonMeaning
Process vs. ThreadChoosing a concurrency model. One line of code difference = 10× performance
Context switching (the cost of a CPU swapping between tasks)Expensive. The more threads, the greater the overhead
Virtual memoryWhy the OOM (Out Of Memory) Killer can terminate your process
File descriptor (file descriptor — the number referencing an open file or socket)The real cause of 'too many open files' errors
Blocking vs. non-blockingThe fundamental reason Node.js, Go, and Rust are fast — processing the next task without waiting

The bottom line: Without OS knowledge, debugging a Heisenbug (a bug that only reproduces occasionally) can take weeks. With it, minutes.

🤖 Try asking AI like this

Knowing the concepts from this lesson lets you give AI specific instructions — the starting point for saving tokens (the unit of text an AI processes at one time).

  • "Give me the command to trace syscalls (system calls — functions a program sends to the kernel) in this Node.js app using strace, plus a guide to interpreting the output."
  • "Diagnose whether this code has higher costs in user space or kernel space (user/kernel space — normal program area vs. the OS core area)."
  • "Check this multi-threaded code for race condition (a bug where multiple threads access the same data simultaneously and produce incorrect results) risks, then apply appropriate locks."

Why does this save tokens?

Knowing OS vocabulary like 'process, thread, syscall' lets AI deliver diagnosis + solution in one shot. Without the basics, it starts from 'first, let me explain how the OS works...'.

Operating System - OS