Re: Seeing VERSIONINFO under Vista?
- From: "Alexander Grigoriev" <alegr@xxxxxxxxxxxxx>
- Date: Sun, 27 May 2007 20:56:44 -0700
80286 didn't have virtual memory map, nor virtual mode. It only had
segmentation through a LDT/GDT, it was called protected mode. The segment
base address could only go up to 16 MB.
Different sources refer to "1 GB virtual memory" of 80286. It's nothing else
as segment-based virtual memory. 64 KB*(8192 LDT selectors+8192 GDT
selectors) = 1GB. Swapping was supposed done at segment basis. Actually, by
switching LDT per task, it would be possible to have bigger VM.
Restart to real mode was later implemented through a triple fault. It was a
bit faster.
"Joseph M. Newcomer" <newcomer@xxxxxxxxxxxx> wrote in message
news:3cfj53dorqk36q109hdk9r5to5sv7fmm1i@xxxxxxxxxx
This was not an architectural restriction of the x86 family (which always
had supported
32-bit addresses, however weirdly configured) but a pin limitation issue
in the
implementaiton of the 286. However, that was not the real reason the 286
was
unsupportable. There were seriously deep architecture issues that could
not be handled in
the 286, for example, its virtual memory map had problems, and in an era
in which it was
still necessary to return to the BIOS frequently, it had been designed so
that once it
entered virtual mode, it could not be reset to real mode (this was where
the student paid
too much attention to the professor; we knew that having monotonic
mutability was critical
for security, but it required that you have software that worked entirely
in virtual
mode!). Read the BIOS code of a 286 to see how this was handled, but
don't forget your
anti-nausea pill! What it did was have a line in one of the I/O ports
that actually reset
the processor (I have this vague memory of port 60h or 61h). So when the
processor reset,
it started up in real mode. Before tweaking this bit, a bit was written
to the NVRAM to
say that this was a real-mode restart, so when it picked up the initail PC
out of the BIOS
and branched off to handle it, there was code that checked this bit and
then went off to
the virtual-to-real handler code to dispatch it.
joe
.
- Follow-Ups:
- Re: Seeing VERSIONINFO under Vista?
- From: Joseph M . Newcomer
- Re: Seeing VERSIONINFO under Vista?
- References:
- Re: Seeing VERSIONINFO under Vista?
- From: MrAsm
- Re: Seeing VERSIONINFO under Vista?
- From: Daniel James
- Re: Seeing VERSIONINFO under Vista?
- From: MrAsm
- Re: Seeing VERSIONINFO under Vista?
- From: Tom Serface
- Re: Seeing VERSIONINFO under Vista?
- From: Daniel James
- Re: Seeing VERSIONINFO under Vista?
- From: David Ching
- Re: Seeing VERSIONINFO under Vista?
- From: Daniel James
- Re: Seeing VERSIONINFO under Vista?
- From: David Ching
- Re: Seeing VERSIONINFO under Vista?
- From: Joseph M . Newcomer
- Re: Seeing VERSIONINFO under Vista?
- From: Daniel James
- Re: Seeing VERSIONINFO under Vista?
- From: Joseph M . Newcomer
- Re: Seeing VERSIONINFO under Vista?
- Prev by Date: Re: Seeing VERSIONINFO under Vista?
- Next by Date: deactivating an event for certain time
- Previous by thread: Re: Seeing VERSIONINFO under Vista?
- Next by thread: Re: Seeing VERSIONINFO under Vista?
- Index(es):
Relevant Pages
|
Loading