User's Manual

MEMORY MANAGEMENT AND VIRTUAL ADDRESSING
r
,J
I
C
ONE
SEGMENT
OF
THE
,
,
TASKS
RESERVED-ZERO
LOCAL
1-
(private)
1.
BASE
23-16
ADDRESS
RESERVED-ZERO
SPACE
1-
BASE
15-0
I
BASE"_'6
LIMIT
'5-0
BASE,S_O
LIMIT '5-0
LDT
DESCRIPTOR
IN
THE
GDT
IN MEMORY
~
~
~
~
DESCRIPTOR SEGMENT
TABLES
IN
IN
RAM RAM
f-,
Figure 6-5. LOT Descriptor
6.5
SEGMENTS AND SEGMENT DESCRIPTORS
,
h
SEGMENT
LIMIT
SEGMENT
BASE
G3010B
Segments are the basic units of 80286 memory management. In contrast to schemes based
on
fixed-
size pages, segmentation allows for a very efficient implementation of software: variable-length segments
can be tailored to the exact requirements of an application_ Segmentation, moreover,
is
consistent with
the way a programmer naturally deals with his virtual address space: programmers are encouraged to
divide code and data into clearly defined modules and structures which are manipulated
as
consistent
entities. This reduces (minimizes) the potential for virtual memory thrashing_ Segmentation also
elimi-
nates the restrictions on data structures that span a page (e.g., a word that crosses page boundaries)_
Each segment within an 80286 system
is
defined
by
an associated segment descriptor, which may
appear in one or more descriptor tables. Its inclusion within a descriptor table represents the presence
of its associated segment within the virtual address space defined
by
that table. Conversely, its ommis-
sion from a descriptor table means that the segment
is
absent from the corresponding address space.
6-7