beautypg.com

2 task logical address space – Intel IA-32 User Manual

Page 262

background image

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