*** Welcome to piglix ***

Real mode


Real mode, also called real address mode, is an operating mode of all x86-compatible CPUs. Real mode is characterized by a 20-bit segmented memory address space (giving exactly 1 MiB of addressable memory) and unlimited direct software access to all addressable memory, I/O addresses and peripheral hardware. Real mode provides no support for memory protection, multitasking, or code privilege levels. Before the release of the 80286, which introduced protected mode, real mode was the only available mode for x86 CPUs. In the interest of backward compatibility, all x86 CPUs start in real mode when reset, though it is possible to emulate real mode on other systems when starting on other modes.

The 286 architecture introduced protected mode, allowing for (among other things) hardware-level memory protection. Using these new features, however, required a new operating system that was specifically designed for protected mode. Since a primary design specification of x86 microprocessors is that they are fully backward compatible with software written for all x86 chips before them, the 286 chip was made to start in 'real mode' – that is, in a mode which turned off the new memory protection features, so that it could run operating systems written for the 8086 and the 80186. As of 2016, even the newest x86 CPUs (including x86-64 CPUs) start in real mode at power-on and can run software written for almost any previous x86 chip.

The PC BIOS which IBM introduced operates in real mode, as do the DOS operating systems (MS-DOS, DR-DOS, etc.). Early versions of Microsoft Windows ran in real mode. Windows 386 made it possible to make some use of protected mode, and this was more fully realized in Windows 3.0, which could run in either real mode or make use of protected mode in the manner of Windows 386. Windows 3.0 actually had several modes: "real mode", "standard mode" and "386-enhanced mode", the latter required some of the virtualization features of the 80386 processor, and thus would not run on an 80286. Windows 3.1 removed support for real mode, and it was the first mainstream operating environment which required at least an 80286 processor. Windows 95 architecture is an evolution of Windows for Workgroups' "386 enhanced mode". None of these versions could be considered a modern x86 operating system, since they switched to protected mode only for certain functions. (Unix, Linux, OS/2, Windows NT 3.x and later, etc. are considered "modern" OS's as they switch the CPU into protected mode at startup, never return to real mode and provide all of the benefits of protected mode all of the time.) 64-bit operating systems use this only as another stepping stone to get to long mode. It is worth noting that the protected mode of the 80286 is considerably more primitive than the improved protected mode introduced with the 80386; the latter is sometimes called 386 protected mode, and is the mode modern 32-bit x86 operating systems run in.


...
Wikipedia

...