Demand paging: chỉ nạp trang vào RAM khi thực sự được truy cập, thay vì nạp toàn bộ chương trình lúc khởi động. Mỗi entry trong page table có valid/invalid bit đánh dấu trang đang ở RAM hay còn trên đĩa.
Khi CPU truy cập một trang có bit invalid → phần cứng phát sinh page fault (một loại trap vào kernel). Xử lý:
1. OS kiểm tra tham chiếu có hợp lệ không (nếu sai → segfault).
2. Tìm khung trang trống; nếu hết thì chạy thuật toán thay trang.
3. Đọc trang cần thiết từ đĩa vào khung (chậm — vài ms).
4. Cập nhật page table, đặt valid bit.
5. Khởi động lại đúng lệnh đã gây fault.
Lợi ích: khởi động nhanh, tiết kiệm RAM, cho phép chương trình lớn hơn RAM vật lý. Chi phí: mỗi page fault đắt, và thiếu RAM sẽ dẫn tới thrashing.