
3.2 Supervisor Mode, Exceptions, and Traps 111
3.2.1 Supervisor Mode
As will become clearer in later chapters, complex systems are often implemented
as several programs that communicate with each other. These programs may run
under the command of an operating system. It may be desirable to provide hardware
checks to ensure that the programs do not interfere with each other—for example,
by erroneously writing into a segment of memory used by another program. Soft-
ware debugging is important but can leave some problems in a running system;
hardware checks ensure an additional level of safety.
In such cases it is often useful to have a supervisor mode ...