, Bass wrote

It follows from Turing that you can not make a virtual memory system that never page faults (given non-unlimited physical memory, of course), partly because you can't fully reason about execution.

I'm not sure Turing says that at all.

In fact, I think it is entirely possible to have a virtual memory system that never page faults.

For example: The non-paged pool. Also Win32k's shared session data.

The Turing halting problem says you can't write a program in an also Turing-complete language that fully tells you whether or not the other program will do X or not do X. This is because if bool Halts(Program p) is a Turing-complete function, then this program defeats the logic:

if(Halts(Program.Self)) { while(true){} } else { Environment.Exit(0); }

It doesn't say anything more profound that that. And it certainly doesn't mention whether or not Metro should close apps after a timeout or not.