Protected mode The 286 was the first of the x86 CPU family to support
protected virtual-address mode, commonly called "
protected mode". In addition, it was the first commercially available microprocessor with on-chip
memory management unit (MMU) capabilities (systems using the contemporaneous
Motorola 68010 and
NS320xx could be equipped with an optional MMU controller). This would allow IBM compatibles to have advanced multitasking OSes for the first time and compete in the
Unix-dominated
server/
workstation market. Several additional instructions were introduced in the protected mode of 80286, which are helpful for multitasking operating systems. Another important feature of 80286 is the prevention of unauthorized access. This is achieved by: • Forming different segments for data, code, and stack, and preventing their overlapping. • Assigning privilege levels to each segment. Segments with lower privilege levels cannot access segments with higher privilege levels. In 80286 (and in its co-processor
Intel 80287), arithmetic operations can be performed on the following different types of numbers: • unsigned
packed decimal, • unsigned binary, • unsigned unpacked decimal, • signed binary, •
floating-point numbers (only with an
80287). By design, the 286 could not revert from protected mode to the basic 8086-compatible
real address mode ("
real mode") without a hardware-initiated reset. In the PC/AT introduced in 1984, IBM added external circuitry, as well as specialized code in the
ROM BIOS and the
8042 keyboard microcontroller to enable software to cause the reset, allowing real-mode reentry while retaining active memory and returning control to the program that initiated the reset. (The BIOS is necessarily involved because it obtains control directly whenever the CPU resets.) Though it worked correctly, the method imposed a huge performance penalty. In theory, real-mode applications could be
directly executed in 16-bit protected mode if certain rules (newly proposed with the introduction of the 80286) were followed; however, as many DOS programs did not conform to those rules, protected mode was not widely used until the appearance of its successor, the
32-bit Intel 80386, which was designed to go back and forth between modes easily and to provide an emulation of real mode within protected mode. When Intel designed the 286, it was not designed to be able to multitask real-mode applications; real mode was intended to be a simple way for a bootstrap loader to prepare the system and then switch to protected mode; essentially, in protected mode the 80286 was designed to be a new processor with many similarities to its predecessors, while real mode on the 80286 was offered for smaller-scale systems that could benefit from a more advanced version of the 80186 CPU core, with advantages such as higher clock rates, faster instruction execution (measured in clock cycles), and unmultiplexed buses, but not the 24-bit (16 MB) memory space. To support protected mode, new instructions have been added: ARPL, VERR, VERW, LAR, LSL, SMSW, SGDT, SIDT, SLDT, STR, LMSW, LGDT, LIDT, LLDT, LTR, CLTS. There are also new exceptions (internal interrupts): invalid opcode, coprocessor not available,
double fault, coprocessor segment overrun, stack fault, segment overrun/general protection fault, and others only for protected mode.
OS support The protected mode of the 80286 was not routinely utilized in PC applications until many years after its release, in part because of the high cost of adding extended memory to a PC, but also because of the need for software to support the large user base of 8086 PCs. For example, in 1986 the only program that made use of it was VDISK, a
RAM disk driver included with
PC DOS 3.0 and 3.1.
DOS could utilize the additional RAM available in protected mode (
extended memory) either via a
BIOS call (INT 15h, AH=87h), as a
RAM disk, or as
emulation of
expanded memory. Intel had not expected the lack of
virtual machine support for 8086 software to be a problem, because it thought that new software using all of the 80286's capabilities would quickly appear.
Bill Gates referred to the 80286 as a "brain-damaged" chip, because it cannot use virtual machines to multitask multiple
MS-DOS applications with an operating system like
Microsoft Windows. It was arguably responsible for the split between
Microsoft and IBM, since IBM insisted that
OS/2, originally a joint venture between IBM and Microsoft, would run on a 286 (and in text mode). In January 1985,
Digital Research previewed the
Concurrent DOS 286 1.0 operating system developed in cooperation with Intel. The product would function strictly as an 80286 native-mode (i.e. protected-mode) operating system, allowing users to take full advantage of the protected mode to perform multi-user, multitasking operations while running 8086 emulation. Digital Research's
FlexOS 286 version 1.3, a derivation of Concurrent DOS 286, was developed in 1986, introduced in January 1987, and later adopted by IBM for their
IBM 4690 OS, but the same limitations affected it. Other operating systems that used the protected mode of the 286 were Microsoft
Xenix (around 1984),
Coherent, and
Minix. These were less hindered by the limitations of the 80286 protected mode because they did not aim to run MS-DOS applications or other real-mode programs. When designing the 80386 Intel engineers were aware of, and agreed with, the 80286's poor reputation. They enhanced the 80386's protected mode to address more memory, and also added the separate
virtual 8086 mode, a mode within protected mode with much better MS-DOS compatibility. ==Support components==