1 <!DOCTYPE HTML PUBLIC
"-//IETF//DTD HTML 2.0//EN">
4 <TITLE>80386 Programmer's Reference Manual -- Section
7.2</TITLE>
7 <B>up:
</B> <A HREF=
"c07.htm">
8 Chapter
7 -- Multitasking
</A><BR>
9 <B>prev:
</B> <A HREF=
"s07_01.htm">7.1 Task State Segment
</A><BR>
10 <B>next:
</B> <A HREF=
"s07_03.htm">7.3 Task Register
</A>
14 <H1>7.2 TSS Descriptor
</H1>
15 The task state segment, like all other segments, is defined by a
17 <A HREF=
"#fig7-2">Figure
7-
2</A>
18 shows the format of a TSS descriptor.
20 The B-bit in the type field indicates whether the task is busy. A type code
21 of
9 indicates a non-busy task; a type code of
11 indicates a busy task.
22 Tasks are not reentrant. The B-bit allows the processor to detect an attempt
23 to switch to a task that is already busy.
25 The BASE, LIMIT, and DPL fields and the G-bit and P-bit have functions
26 similar to their counterparts in data-segment descriptors. The LIMIT field,
27 however, must have a value equal to or greater than
103. An attempt to
28 switch to a task whose TSS descriptor has a limit less that
103 causes an
29 exception. A larger limit is permissible, and a larger limit is required if
30 an I/O permission map is present. A larger limit may also be convenient for
31 systems software if additional data is stored in the same segment as the
34 A procedure that has access to a TSS descriptor can cause a task switch. In
35 most systems the DPL fields of TSS descriptors should be set to zero, so
36 that only trusted software has the right to perform task switching.
38 Having access to a TSS-descriptor does not give a procedure the right to
39 read or modify a TSS. Reading and modification can be accomplished only with
40 another descriptor that redefines the TSS as a data segment. An attempt to
41 load a TSS descriptor into any of the segment registers (CS, SS, DS, ES, FS,
42 GS) causes an exception.
44 TSS descriptors may reside only in the GDT. An attempt to identify a TSS
45 with a selector that has TI=
1 (indicating the current LDT) results in an
49 <IMG align=center
SRC=
"fig7-2.gif" border=
0>
54 <B>up:
</B> <A HREF=
"c07.htm">
55 Chapter
7 -- Multitasking
</A><BR>
56 <B>prev:
</B> <A HREF=
"s07_01.htm">7.1 Task State Segment
</A><BR>
57 <B>next:
</B> <A HREF=
"s07_03.htm">7.3 Task Register
</A>