To determine the total page faults using the optimal replacement algorithm with 3 frames for the reference string {0,9,0,1,8,1,8,7,8,7,1,2,8,2,7,8,2,3,8,3}:
- Initial accesses {0,9,1} incur 3 page faults, resulting in frames {0,9,1}.
- Access {8}: Replaces 9 (never used again), resulting in frames {0,8,1} (Fault 4).
- Access {7}: Replaces 0 (never used again), resulting in frames {7,8,1} (Fault 5).
- Access {2}: Replaces 1 (never used again), resulting in frames {7,8,2} (Fault 6).
- Access {3}: Replaces 7 (never used again), resulting in frames {3,8,2} (Fault 7).
- Remaining references {8,3} result in hits, totaling 7 page faults.