Operating System — Syllabus
Explore the syllabus by level.
Target: Google • Microsoft • Germany • EU • Remote Roles
This syllabus merges fundamentals + advanced system-level C to cover 95%+ international interview questions while remaining practical and teachable.
This syllabus merges fundamentals + advanced system-level C to cover 95%+ international interview questions while remaining practical and teachable.
Introduction and basic concepts
- Definition, objectives and functions of an operating system
- Types of operating systems: batch, multiprogramming, multitasking, time-sharing, real-time, distributed and embedded
- OS structures: monolithic, layered, microkernel and modular
- Kernel, shell, system calls and system programs
- User mode vs. kernel mode
- Booting process and interrupt handling
- OS services and resource management
Processes, CPU scheduling and execution
- Process concept, process states and process control block (PCB)
- Process creation, termination and context switching
- Threads, multithreading and multithreading models
- Inter-process communication (IPC)
- CPU scheduling: FCFS, SJF, SRTF, Priority and Round Robin
- Scheduling criteria: turnaround, waiting and response time
- Multiprocessor scheduling and real-time scheduling basics
Synchronization and shared resources
- Race conditions and critical-section problems
- Mutexes, semaphores, monitors and spinlocks
- Classical synchronization problems: producer-consumer, readers-writers and dining philosophers
- Deadlock characterization and the four necessary conditions
- Deadlock prevention, avoidance, detection and recovery
- Resource allocation graphs
- Banker's algorithm and safe-state analysis
Physical and virtual memory
- Logical vs. physical addresses and address binding
- Contiguous memory allocation and fragmentation
- Paging, page tables and segmentation
- Translation Lookaside Buffer (TLB)
- Virtual memory and demand paging
- Page replacement: FIFO, Optimal, LRU and Clock
- Page faults, thrashing and working-set model
- Swapping and memory allocation strategies
Data persistence and device management
- File concepts, attributes, operations and access methods
- Directory structures, file permissions and protection
- File allocation: contiguous, linked and indexed
- File-system implementation and free-space management
- Disk scheduling: FCFS, SSTF, SCAN, C-SCAN, LOOK and C-LOOK
- HDD vs. SSD, RAID concepts and storage management
- I/O systems, device drivers, buffering, caching and spooling
- File-system consistency, journaling and recovery
Security, virtualization and modern systems
- OS protection domains, access control and privilege management
- Authentication, authorization and OS security mechanisms
- Malware, privilege escalation and common OS vulnerabilities
- Virtual machines, hypervisors and virtualization
- Containers and operating-system-level virtualization
- Distributed operating-system concepts
- Multiprocessor systems and synchronization challenges
- Linux/Unix architecture, processes, permissions and system calls
- Performance monitoring, resource allocation and troubleshooting