Message-Id: <200006100646.JAA13833@mailgw1.netvision.net.il> Date: Sat, 10 Jun 2000 09:45:00 +0200 X-Mailer: Emacs 20.6 (via feedmail 8.1.emacs20_6 I) and Blat ver 1.8.5b From: "Eli Zaretskii" To: Prashant TR CC: djgpp AT delorie DOT com In-reply-to: (message from Prashant TR on 10 Jun 2000 06:54:57 +0530) Subject: Re: far pointers References: <39405DEE DOT 89226F7B AT ccs DOT iitb DOT ernet DOT in> <39415453 DOT 5E434718 AT is DOT elta DOT co DOT il> Reply-To: djgpp AT delorie DOT com Errors-To: nobody AT delorie DOT com X-Mailing-List: djgpp AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk > From: Prashant TR > Newsgroups: comp.os.msdos.djgpp > Date: 10 Jun 2000 06:54:57 +0530 > > > That means programs like DOS can coexist with protected-mode programs. > > > > I don't think V86 has anything to do with RM and PM programs coexisting. > > perhaps I'm missing something in your reasoning. > > That statement is right. Because without V86 mode, you wouldn't be > able to run any of your DOS programs without swicthing back to real > mode (which is terribly slow). And when a program run in V86 mode, it > *is* running in PMode at PL3. So this statement is right. Sorry, I still don't follow your reasoning; the above paragraph contains several contradictions. First, you *can* run protected-mode programs on top of plain real-mode DOS: that's what CWSDPMI does, for example, when it runs without EMM or QEMM installed; the speed of the mode switch is not really relevant here. This fact alone seems to go against your text, which suggest that V86 allows DOS and PM programs to coexist (meaning that without V86, such coexistence is impossible). Second, even in V86 mode, a protected-mode program that calls real-mode DOS services needs to make an explicit PM-to-RM switch, or it will crash. So there's nothing in V86 per se that allows or makes it simpler for PM programs to coexist with DOS. Faster, yes, but not simpler. In fact, I think that V86 should not be mentioned at all in the kind of tutorial that you are writing. It is not really important in the context of DJGPP, but it does complicate things and confuses newbies. I don't expect many DJGPP users to write a V86 monitor ;-) > > The memory management unit (MMU) on the 386 supports virtual memory > > > > This is inaccurate: VM is not implemented by MMU, but by software that hooks > > the Page Fault exception and pages memory in and out as needed. > > The word "support" is the key here. An MMU can hardly ``support'' something that it doesn't know about. IMHO, the paragraph I commented about does not help to understand what the MMU is. It might confuse people into thinking that MMU has some important part in the implementation of VM, which is not true.