Skip to content
md ~/guide/isletim-sistemleri
Back to the guide

Step 3

Operating Systems

How many programs share one machine: processes, threads, memory and file systems. Server, mobile or embedded, this sits underneath all of them.

Know these firstComputer ArchitectureData Structures

  • Processes and threads
  • CPU scheduling
  • Synchronization
  • Deadlock
  • Virtual memory
  • File systems
  • System calls

Why it matters

A browser, a music player and a compiler run at the same time, each acting as if it owned the whole computer. The operating system makes that possible. A race condition in a multithreaded server, a frozen phone app, a full disk: this course explains all of them.

What to know

  • Processes versus threads; context switching.
  • CPU scheduling: FIFO, round robin, priority.
  • Race conditions, mutexes, semaphores, condition variables.
  • Deadlock: its conditions and how to prevent it.
  • Virtual memory, paging and page faults.
  • File systems: files, directories, inodes, on-disk layout.
  • System calls: fork, exec, open, read.

Practice and projects

  • Use Linux (WSL is enough): watch processes with ps, top and kill.
  • Write a small shell in C with fork and exec.
  • Write a program where two threads increment the same counter, reproduce the race yourself, then fix it with a lock.

Common mistakes

  • Studying only from slides; the short OSTEP chapters are far clearer.
  • Calling synchronization code correct because it worked once; races may show up one time in a thousand.

Careers that use this course most