Selectors and descriptors are those items that provide the hardware with the software's expected image of what is located where.
Selectors
A selector is a 16-bit pointer that, when loaded into a register or used with certain instructions, selects certain descriptors. In a logical address, the selector portion identifies an individual descriptor by first specifying the descriptor table and then indexing to the descriptor within that table.
General selector format: 15 3 2 1 0 ┌──────────────────────────────────────┬──┬─────┐ │ Index │TI│ RPL │ └──────────────────────────────────────┴──┴─────┛
Index Selects one of up to 8192 descriptors in a descriptor table. The 80386+ multiplies this index value by eight (the length of a descriptor) and then adds the result to the base address of the descriptor table. This accesses the correct entry in the table.
TI The Table Indicator bit specifies the descriptor table to which the selector refers: a zero points to the GDT (Global Descriptor Table), and a one indicates the current LDT (Local Descriptor Table).
RPL Requested Privilege Level - used by the system protection mechanism.