Intel architecture ia-32 User Manual

Page of 636
6-20 Vol. 3A
TASK MANAGEMENT
that the mapping of TSS addresses does not change while the processor is reading and updating
the TSSs during a task switch. The linear address space mapped by the GDT also should be
mapped to a shared area of the physical space; otherwise, the purpose of the GDT is defeated.
Figure 6-9 shows how the linear address spaces of two tasks can overlap in the physical space
by sharing page tables. 
6.5.2
Task Logical Address Space
To allow the sharing of data among tasks, use the following techniques to create shared logical-
to-physical address-space mappings for data segments:
Through the segment descriptors in the GDT — All tasks must have access to the
segment descriptors in the GDT. If some segment descriptors in the GDT point to segments
in the linear-address space that are mapped into an area of the physical-address space
common to all tasks, then all tasks can share the data and code in those segments.
Through a shared LDT — Two or more tasks can use the same LDT if the LDT fields in
their TSSs point to the same LDT. If some segment descriptors in a shared LDT point to
segments that are mapped to a common area of the physical address space, the data and
code in those segments can be shared among the tasks that share the LDT. This method of
sharing is more selective than sharing through the GDT, because the sharing can be limited
to specific tasks. Other tasks in the system may have different LDTs that do not give them
access to the shared segments.
Figure 6-9.  Overlapping Linear-to-Physical Mappings
Task A
Page
TSS
PDE
Page Directories
PDE
PTE
PTE
PTE
PTE
PTE
Page Tables
Page Frames
Task A
Page
Task A
Page
Shared
Page
Shared
Page
Task B
Page
Task B
Page
Shared PT
PTE
PTE
PDE
PDE
PDBR
PDBR
Task A TSS
Task B TSS