Operating Systems and System Software
Operating Systems and System Software tests how the kernel multiplexes CPU time, memory, devices, and files, and how system software turns source code into a running process. Expect scheduling, synchronization, virtual memory, and toolchain questions.
Core concepts
Processes have isolated address spaces; threads share code and data within a process. Scheduling policies such as round robin, priority, and multilevel feedback trade response time against throughput. Deadlock requires mutual exclusion, hold-and-wait, no preemption, and circular wait. Virtual memory maps pages to frames through page tables; the TLB caches translations. Linkers resolve symbols, loaders map executables into memory, and system calls cross the user/kernel boundary.
Worked example
A TLB lookup takes 1 ns and a memory access takes 100 ns. With a 90% TLB hit ratio, effective access time is 0.9×(1+100) + 0.1×(1+100+100) = 0.9×101 + 0.1×201 = 110.9 ns. The miss case includes the page-table walk plus the final data access.
Traps
A page fault is not a segmentation fault: the page may be valid but not resident. The TLB caches translations, not data. Deadlock prevention and avoidance are different strategies. A large round-robin quantum behaves like first-come, first-served and harms response time. Do not assume a thread has its own address space.