Sharing of memory, at any level of the memory
hierarchy, creates the potential for one program to address the memory space
of another. This is desirable when sharing is needed by particular applications.
At other times, it threatens the integrity of programs and even of the OS itself.
The OS must allow portions of memory to be accessible in various ways by
various users.