background image

7-4 Vol. 3A

TASK MANAGEMENT

The processor updates dynamic fields when a task is suspended during a task switch. The following are dynamic 
fields:

General-purpose register fields — State of the EAX, ECX, EDX, EBX, ESP, EBP, ESI, and EDI registers prior 
to the task switch.

Segment selector fields — Segment selectors stored in the ES, CS, SS, DS, FS, and GS registers prior to the 
task switch.

EFLAGS register field — State of the EFAGS register prior to the task switch.

EIP (instruction pointer) field — State of the EIP register prior to the task switch.

Previous task link field — Contains the segment selector for the TSS of the previous task (updated on a task 
switch that was initiated by a call, interrupt, or exception). This field (which is sometimes called the back link 
field) permits a task switch back to the previous task by using the IRET instruction.

The processor reads the static fields, but does not normally change them. These fields are set up when a task is 
created. The following are static fields:

LDT segment selector field — Contains the segment selector for the task's LDT.

Figure 7-2.  32-Bit Task-State Segment (TSS)

0

31

100

96

92

88

84

80

76

I/O Map Base Address

15

LDT Segment Selector

GS

FS

DS

SS

CS

72

68

64

60

56

52

48

44

40

36

32

28

24

20

SS2

16

12

8

4

0

SS1

SS0

ESP0

Previous Task Link

ESP1

ESP2

CR3 (PDBR)

T

ES

EDI

ESI

EBP

ESP

EBX

EDX

ECX

EAX

EFLAGS

EIP

Reserved bits. Set to 0.

Reserved

Reserved

Reserved

Reserved

Reserved

Reserved

Reserved

Reserved

Reserved

Reserved

Reserved

Reserved