Real Mode vs. Protected Mode Operation
This sidebar describes the difference between real mode and protected mode operation of the Intel family of 80x86 microprocessors.
MS-DOS and PC-DOS were written for the Intel 8088/6 microprocessor which runs in what is termed "real" mode. What this means is that the memory locations which are referenced by the segment registers of the processor are actual (real) physical locations in the computer's memory. Since a programmer is free to load anything he wants into these segment registers, any program that runs in real mode can access all the available memory of the computer including the memory that is reserved for the operating system. This means that if you want to (most often when you don't want to) you can easily overwrite part of the operating system. Every C and assembly language programmer that has worked in the MS-DOS or PC-DOS environment has done this (more times that he/she will admit to) and has had to resort to the use of the big red switch as one of their debugging tools.
The 80286, 80386 and 80486 microprocessors can run in real mode to maintain backward compatibility with the 8088/6. However, these processors can also run in what Intel decided to call "protected" mode. In protected mode, the values loaded into the segment registers of the processor are not real addresses. They are selectors. Selectors are references into a table that contains the actual physical memory addresses of allocated segments, their length and attributes (read-only, read/write, executable) and privilege information. In protected mode, each time a program makes a memory access, the microprocessor checks the validity of the memory access and then generates a physical address (if it is allowed) in order to carry out the required instructions. This hardware support for memory management allows an operating system to protect itself from the programs that are running under it. It also allows it to protect the programs running on the system from clobbering each other's memory.
An additional benefit of protected mode operation with the Intel family of chips is that a much larger memory space is available. One megabyte is all you get in real mode. Sixteen megabytes and four gigabytes (!!!) are physically addressable in the protected modes of the 80286 and 80386 chips respectively.
QNX is available in both real mode and protected mode versions. This means that you can run QNX on 8088/6 based machines as well as the higher horsepower 80286 through 80486 machines.