System calls, processes, threads, IPC, concurrency and synchronization, deadlock, CPU and I/O scheduling, memory management, virtual memory, file systems.
Interface between user program and OS kernel.
Program in execution, with PCB, states: new, ready, running, waiting, terminated.
Lightweight process sharing same address space.
IPC mechanisms: pipe, message queue, shared memory, socket, signal.
Race conditions, critical sections, mutex, semaphores, monitors.
Four necessary conditions: mutual exclusion, hold and wait, no preemption, circular wait.
Scheduling algorithms: FCFS, SJF, priority, round-robin, multilevel queue. I/O scheduling: disk scheduling (FCFS, SSTF, SCAN, C-SCAN).
Contiguous allocation, partitioning, paging, segmentation. Swapping.
Demand paging, page fault, page replacement algorithms (FIFO, LRU, Optimal, Clock).
File structure, directory implementation, allocation methods (contiguous, linked, indexed), free space management.