Operating Systems and Computer Architecture
What this domain tests
Operating systems and computer architecture tests processes and threads, CPU scheduling, synchronization and deadlock, memory management, caching, and basic instruction-set concepts.
Core rules
- A process has its own address space; threads share code, data, and open files but have separate stacks and registers.
- Context switches save and restore state and cost time; more threads do not always mean more throughput.
- Round-robin scheduling uses a time quantum; shortest-job-first minimizes average waiting time but needs burst estimates.
- Deadlock requires mutual exclusion, hold-and-wait, no preemption, and circular wait; breaking any one condition prevents it.
- Paging maps virtual pages to physical frames via a page table; the offset within a page is unchanged by translation.
- A TLB caches recent translations; a miss may require one or more page-table accesses.
- Caches exploit temporal and spatial locality; block size, associativity, and replacement policy affect hit rate.
Worked example
A system has 4 KB pages. Split virtual address 0x1A2B. Because 4 KB = 2^12, the low 12 bits are the offset: 0x1A2B & 0xFFF = 0xA2B. The page number is the remaining high bits: 0x1. Translation replaces the page number with a frame number, but the offset stays 0xA2B. The reasoning is that a power-of-two page size turns address splitting into a bit operation.
Traps
Confusing page size with frame size, which is usually equal. Forgetting that the offset is preserved. Assuming a TLB hit removes the need for protection checks. Treating deadlock and starvation as identical. Counting user threads as always faster. Endianness questions: big-endian stores the most significant byte at the lowest address.