3 lessons
Demand paging — running programs bigger than your RAM
The trick that lets a computer run programs whose total memory need exceeds physical RAM, and what actually happens on a page fault.
Page replacement algorithms — deciding what to kick out
When RAM is full and a new page needs to come in, exactly which existing page should be sacrificed, and the surprising paradox lurking in the answer.
Thrashing and the working set model
What happens when a system tries to run too much at once, and the elegant idea that tells the OS exactly how much memory a process genuinely needs right now.