7.1
INTRODUCTION
CHAPTER 7
PROTECTION
In most microprocessor based products, the product's availability, quality, and reliability are deter-
mined by the software it contains. Software
is
often the key
to
a product's success. Protection
is
a tool
used to shorten software development time, and improve software quality and reliability.
Program testing
is
an important step in developing software. A system with protection
will
detect software
errors more quickly and accurately than a system without protection. Eliminating errors
via
protection
reduces the development time for a product.
Testing software
is
difficult. Many errors occur only under complex circumstances which are difficult
to anticipate. The result
is
that products are shipped with undetected errors. When such errors occur,
products appear unreliable. The impact of a software error
is
multiplied if it introduces errors in other
bug-free programs. Thus, the total system reliability reduces
to
that of the least reliable program running
at any given time.
Protection improves the reliability of an entire system by preventing software errors in one program
from affecting other programs.
Protection can keep the system running even when some user program
attempts an invalid or prohibited operation.
Hardware protection performs run-time checks in parallel with the execution of the program. But,
hardware protection has traditionally resulted in a design that
is
more expensive and slower than a
system without protection. However, the 80286 provides hardware-enforced protection without the
performance or cost penalties normally associated with protection.
The protected mode 80286 implements extensive protection by integrating these functions on-chip. The
80286 protection
is
more comprehensive and flexible than comparable solutions.
It
can locate and
isolate a large number of program errors and prevent the propagation of such errors
to
other tasks or
programs. The protection of the total system detects and isolates bugs both during development and
installed usage. Chapter 9 discusses exceptions in more detail.
The remaining sections of this chapter explain the protection model implemented in the 80286.
7.1.1 Types of Protection
Protection in the 80286 has three basic aspects:
I. Isolation of system software from user applications.
2.
Isolation of users from each other (Inter-task protection).
3.
Data-type checking.
The 80286 provides a four-level, ringed-type, increasingly-privileged protection mechanism to isolate
applications software from various layers of system software. This
is
a major improvement and exten-
sion over the simpler two-level user/supervisor mechanism found in many systems. Software modules
in a supervisor level are protected from modules in the application level and from software in less
privileged supervisor levels.
7-1