Operating Systems and Systems Software
Core concepts
Understand the OS as a resource manager and extended machine: process management, CPU scheduling (FCFS, SJF, priority, round robin), process states and the PCB, context switching, threads versus processes, and inter-process communication. Study synchronization: critical sections, mutexes, semaphores, and deadlock's four necessary conditions (mutual exclusion, hold and wait, no preemption, circular wait). Know memory management: paging, segmentation, virtual memory, page replacement (FIFO, LRU, optimal), and thrashing. Cover file systems, disk scheduling, I/O handling, and the distinction between kernel and user mode. Mention types of systems software: compilers, loaders, linkers, assemblers, and utility programs.
Traps
Questions often ask for the average waiting time under a scheduling policy - always build the timeline before computing. Remember that SJF gives the minimum average waiting time but requires knowing burst times in advance. Do not confuse deadlock prevention (break a necessary condition) with avoidance (e.g., Banker's algorithm) or detection. LRU is generally better than FIFO but suffers Belady's anomaly less; FIFO can exhibit it.
Worked example
Processes P1 (burst 6), P2 (burst 2), P3 (burst 8) arrive together under FCFS. Completion times are 6, 8, 16; waiting times are 0, 6, 8; average waiting time = 14/3 โ 4.67. Under SJF the order is P2, P1, P3, giving waiting times 0, 2, 8 and average 10/3 โ 3.33. Rule of thumb: draw a Gantt chart first, then sum.