I don't know their reasons...but virtual memory is generally non-deterministic. In practice, when I did real time programming with C, we had to empirically test for best case and worst case latencies, and then model our code performance in order to make sure that it wouldn't kill people. Perhaps if this is running on a processor with well defined instruction execution timing (that doesn't describe most modern processors), they can get full determinism.
Anything with caches is non-deterministic, although there is worst case timing. Just because you have an MMU doesn't mean you have to have paging to disk. Paging to disk is on the way out; few mobile devices do it. RAM is too cheap.
Yep. Are you referring to mlock? That's one way of keeping your data from getting swapped out to disk when you know something the memory manager doesn't.
No, he's referring to something that is not commonly available or used in desktop systems. (I think some Intel CPUs might have it built in, but it's a totally inaccessible feature).
"mlock" is about virtual memory manager "locking" physical pages, so they can't be swapped out to disk.
Here were talking about systems that might not have a disk or even an MMU to implement virtual memory. They might still have dedicated memory protection units, but those aren't necessarily able to support memory virtualization, but just simply to protect memory ranges in safety critical systems.
This is about ability to lock CPU caches (or parts of them, cache line locking) to get something akin to scratchpad memory to ensure deterministic memory access latencies.
For some applications there's a difference whether memory access takes 10 or 100 nanoseconds.