Hardware Reference
In-Depth Information
even the OS in memory. Therefore, if more than one program is running, one of them could bring the
entire system to a crashing halt.
IA-32 Mode (32-Bit)
Then came the 386, which was the PC industry's first 32-bit processor. This chip could run an
entirely new 32-bit instruction set. To take full advantage of the 32-bit instruction set, a 32-bit OS and
a 32-bit application were required. This new 32-bit mode was referred to as protected mode , which
alludes to the fact that software programs running in that mode are protected from overwriting one
another in memory. Such protection makes the system much more crash-proof because an errant
program can't easily damage other programs or the OS. In addition, a crashed program can be
terminated while the rest of the system continues to run unaffected.
Knowing that new OSs and applications—which take advantage of the 32-bit protected mode—
would take some time to develop, Intel wisely built a backward-compatible real mode into the 386.
That enabled it to run unmodified 16-bit OSs and applications. It ran them quite well—much more
quickly than any previous chip. For most people, that was enough. They did not necessarily want new
32-bit software; they just wanted their existing 16-bit software to run more quickly. Unfortunately,
that meant the chip was never running in the 32-bit protected mode, and all the features of that
capability were being ignored.
When a 386 or later processor is running DOS (real mode), it acts like a “Turbo 8088,” which means
the processor has the advantage of speed in running any 16-bit programs; it otherwise can use only the
16-bit instructions and access memory within the same 1MB memory map of the original 8088.
Therefore, if you have a system with a current 32-bit or 64-bit processor running Windows 3.x or
DOS, you are effectively using only the first megabyte of memory, leaving all the other RAM largely
unused!
New OSs and applications that ran in the 32-bit protected mode of the modern processors were
needed. Being stubborn, we as users resisted all the initial attempts at being switched over to a 32-bit
environment. People are resistant to change and are sometimes more content with running older
software more quickly than with adopting new software with new features. I'll be the first one to
admit that I was (and still am) one of those stubborn users myself!
Because of this resistance, true 32-bit OSs took quite a while before getting a mainstream share in the
PC marketplace. Windows XP was the first true 32-bit OS that became a true mainstream product,
and that is primarily because Microsoft coerced us in that direction with Windows 9x/Me (which are
mixed 16-bit/32-bit systems). Windows 3.x was the last 16-bit OS, which some did not really
consider a complete OS because it ran on top of DOS.
IA-32 Virtual Real Mode
The key to the backward compatibility of the Windows 32-bit environment is the third mode in the
processor: virtual real mode. Virtual real is essentially a virtual real mode 16-bit environment that
runs inside 32-bit protected mode. When you run a DOS prompt window inside Windows, you have
created a virtual real mode session. Because protected mode enables true multitasking, you can
actually have several real mode sessions running, each with its own software running on a virtual PC.
These can all run simultaneously, even while other 32-bit applications are running.
Note that any program running in a virtual real mode window can access up to only 1MB of memory,
which that program will believe is the first and only megabyte of memory in the system. In other
words, if you run a DOS application in a virtual real window, it will have a 640KB limitation on
 
Search WWH ::




Custom Search