Operating Systems
People demanded more from their computers and operating systems help achieve that

-
what is an operating system?
Get introduced to the role of an OS: managing hardware, running programs, and making systems usable.
-
processes and scheduling
Learn how the OS juggles multiple programs using processes and various scheduling algorithms.
-
threads and concurrency
Explore how multithreading works, and how operating systems handle concurrency and synchronization.
-
memory management and protection
Understand how the OS isolates processes, using base-and-bounds, segmentation, and virtual memory.
-
virtual memory and paging
Dive into how virtual memory works, including paging, page tables, and memory abstraction.
-
cpu virtualization
See how operating systems give the illusion of a dedicated CPU through time slicing and context switching.
-
synchronization and deadlock
Learn the problems of shared resources, and how OSs handle race conditions and deadlock prevention.
-
file systems and storage
Explore how data is stored on disks, how file systems work, and how files are organized and accessed.
-
input/output and device drivers
Understand how OSs communicate with hardware devices through drivers and I/O management.
-
security and isolation
See how the OS enforces boundaries between users and processes to protect against malicious behavior.
-
system calls and user/kernel mode
Learn how programs request OS services and the importance of user vs. kernel privilege levels.
-
virtual machines and containers
Wrap up with how OS-level virtualization powers cloud computing, VMs, and lightweight containers.