x86 has a variety of operating modes. For historical compatibility reasons, the processor starts up in Real Mode pretending to be a simple 16 bit processor from three decades ago. It is up to the user (generally the operating system developer) to determine if the processor supports certain modes, and then switch the processor into one of them.
List of Modes
There exist three main modes of processor operation:
- Real Mode (16 bit)
- Protected Mode (32 bit) with the option for Virtual-8086 Mode (16 bit) on individual threads
- Long Mode (64 bit) with the option for Compatibility Mode (32 bit) on individual threads
In addition to those three, there exist two other modes that are unused by user facing software:
- Unreal Mode - a variant of Real Mode, but with access to a 4 GiB address space
- System Management Mode - intended for BIOSes and other very low level system initialization routines