Operating Systems
- What an OS does: abstraction, resource management, isolation
- Processes: creation (fork/exec), process states, PCB, context switching
- Threads: kernel threads vs user threads, pthreads, thread pools
- Scheduling: FCFS, SJF, round robin, priority scheduling, multilevel feedback queues, CFS (Linux)
- Memory management: paging, segmentation, demand paging, page replacement (LRU, clock)
- File systems: inodes, FAT, ext4, journaling, B-tree based file systems
- I/O subsystem: buffering, spooling, device drivers
- System calls, user mode vs kernel mode, interrupts and traps