Protected mode (sometimes abbreviated pmode) is an operational mode of x86-compatible CPUs of the 80286 series or later. Protected mode has a number of new features designed to enhance multitasking and system stability, such as memory protection, a paging system, and hardware support for virtual memory. The other operational mode of 286 and later CPUs is real mode, a backwards compatibility mode that disables these features, designed to allow old software to run on newer chips.
While software-mediated multitasking is certainly possible on systems running in real mode, the memory protection features of protected mode prevent an erroneous program from damaging the memory "owned" by another task or by the operating system kernel. Protected mode also has hardware support for interrupting a running program and shifting execution context to another, enabling pre-emptive multitasking.
Most CPUs also feature 32 bit registers (e.g. any chip of the 80386 series or later); leading to the confusion of protected mode as such with the idea of 32 bit processing. The 80286 chips, however, supported protected mode but still had only 16 bit registers. The protected mode enhancements in Windows 2.0 and later were called 386 enhanced mode because they required 32 bit registers in addition to protected mode, and would not run on a 286 (even though 286es support protected mode).
Even when protected mode is enabled on a 32 bit chip, memory above 1MB is not accessible due to memory wrap-around , a feature designed to mimic (now obsolete) IBM XT systems. This limitation can be circumvented by enabling the A20 line.
In protected mode, the first 32 interrupts are reserved for CPU exceptions. For instance, interrupt 0D (13 in decimal) is a general protection fault and interrupt 00 is division by zero.
As a primary design specification for x86 chips is that they be backwards compatible with all previous x86 chips, x86 CPUs boot into real mode at power on, not protected mode. Most modern operating systems switch the CPU into protected mode immediately at startup. It is also possible to run a task designed for real mode in protected mode using virtual 8086 emulation.
See also
External links