uClinux 343
no memory protection. This means that any user-space application can corrupt
kernel memory or even cause a system crash.
Demand Paging and Swapping
In an MMU-enabled processor, one can program page fault handlers. Linux
uses the page fault handler
5
to implement demand paging and swapping.
Because page fault handlers cannot be set up on an MMU-less processor it
means that there can be no demand paging and swapping. Although uClinux
has a common memory space for the kernel and applications, it allows an
application image to be different from the kernel. Thus the application and
the kernel can be kept as separate programs on the file system and can be
loaded separately. uClinux achieves this by cleverly tweaking the toolchain
(compilers, linkers, ...