MMU

smorgan at almaden.ibm.com smorgan at almaden.ibm.com
Wed Apr 19 17:28:58 UTC 2000




Charles-Antoine Gauthier wrote:

> RTEMS is meant for hard real-time systems. Such systems do not do demand
> paging because of the phenomenally high cost of fetching pages from disk
> (relative to CPU speeds). Virtual memory may still be used. In some BSPs
> with caches, the MMU is usually set up "to stay out of the way" as Joel
> puts it, but it must be programmed to control the cache. Either some
> form of block address translation is used, or page descriptors must be
> set up.
>
> One could also imagine setting up virtual addressing to build a flat
> address space multiprocessor where each board uses the same fixed
> physical addressing, as is common with many VME cards (IMHO usually due
> to brain-damaged CPU designs).

There are, of course, other cases in which an MMU might prove useful. My
current project is a prototype of a certain "secure" networking device.

While we have >some< faith that the hardware we will use will work
correctly, we have much less faith that the software will do so, if only
due to its (required) complexity. An MMU might be useful in limiting damage
that might be caused by faulty software.

One design rule we must obey is not to mix cipher- and clear-text in the
same memory area. (Rule #1: Though shalt not leak clear-text.) If we had an
MMU (and we don't), we might be able to disable accesses by threads
designed to work only with clear-text to areas of memory allocated to
contain only cipher-text, and vice versa. The best we can do now is to
perform deign and code reviews and walk-throughs which, in the end, comes
down to little more than waving our hands.





More information about the users mailing list