Operating Systems
Start with the job of an operating system and the main types of systems. Then follow a system call from an application into protected kernel code.
Continue with processes, threads, scheduling, shared data, virtual addresses, page tables, and physical memory.
Operating systems
Understand what happens when code executes. An operating system bridges software and hardware.
- Introduction to Operating Systemslesson
Services, resources, protection, and the path from an application to hardware.
- Types of Operating Systemslesson
Batch, time-sharing, real-time, distributed, mobile, and embedded systems.
- Kernel, User Mode, and System Callslesson
Privilege levels, APIs, traps, kernel services, and return to user mode.
Processes, threads, and CPU scheduling
Follow a program as the OS creates it, schedules it, pauses it, and lets multiple threads share work.
- Processes, Threads, and CPU Schedulinglesson
Process state, threads, context switches, ready queues, and scheduling decisions.
- Process states and the PCBcourse outline
New, ready, running, waiting, and terminated states plus the data saved during a switch.
- Scheduling algorithmscourse outline
First-come-first-served, shortest-job-first, priority, round robin, and response-time trade-offs.
- Inter-process communicationcourse outline
Pipes, shared memory, message queues, and sockets.
Synchronization and deadlocks
See why shared data can become incorrect and how operating systems coordinate threads and processes.
- Race conditions and critical sectionscourse outline
Identify interleavings that produce wrong results and isolate the code that needs protection.
- Mutexes, semaphores, and monitorscourse outline
Control access to shared resources and coordinate producers with consumers.
- Deadlockscourse outline
Mutual exclusion, hold-and-wait, no preemption, circular wait, prevention, avoidance, and recovery.
Memory management
Learn how the OS gives every process a private address space while using a limited amount of physical memory.
- Memory Management and Virtual Memorylesson
Allocation, paging, page tables, translation, page faults, and replacement.
- Segmentation and pagingcourse outline
Divide addresses into logical regions or fixed-size pages and compare their costs.
- Page replacementcourse outline
FIFO, optimal, and LRU replacement when a requested page is not in memory.
Files, storage, I/O, and protection
Complete the picture with persistent data, device communication, access control, and isolated execution.
- File systemscourse outline
Files, directories, metadata, allocation, free-space tracking, and journaling.
- Disk scheduling and I/Ocourse outline
Device drivers, interrupts, buffering, caching, and disk request ordering.
- Protection and securitycourse outline
Permissions, authentication, process isolation, and least privilege.
- Virtualizationcourse outline
Run isolated guest systems through a hypervisor and virtual hardware.