Comment on Memory Management FAQ
George Bell <[email protected]> Thu, 07 Nov 2002 21:49:11 -0500
| Newsgroups | gmane.os.freedos.devel |
|---|---|
| Message-ID | <[email protected]> |
I would like to thank Eric for producing for us a guide to the "zoo" of the various memory managers, and to Paul Matthias for expanding on that and pointing out the differing versions available. Sorry for the belated post. I'm a newbie with this and I'm trying to get up to speed a little bit with it. I have only three things to point out: In response to: >EA> (unprotected mode, so to say), kind of a virtual 8086 CPU, but with the >EA> 32bit stuff still available. However, in the "DOS task", 32bit addressing >EA> is NOT available, and this is why our "extended friends" need to use the >EA> VCPI backdoor to get into full protected mode. Without emm386 running, > 1)If we are in V86 mode, and there is some memory manager, such as FDXMS, then I think it is conceivable that a real mode program *could* work in >64K with a non-flat memory model(while each segment is limited to 64K) or the segments can be "tiled" as P. Matthias pointed out. But this is likely nitpicky because such a setup is awkward and so probably rare, if at all. 2)One question on FDXMS: Firstly, a program must run in protected mode in order to access >640K + HMA. Therefore, the program must put itself into protected mode if FDXMS is the *only* memory manager present(no emm386, himem, umbpci, etc) ? Or can FDXMS provide the VCPI? I presume it can *only* provide the interface to XMS, so if a program needs dos extensions to run in protected mode, something else like emm386 must be present in order for it to run. 3)Eric frequently mentions the term "VCPI" ( Virtual Control Program Interface ) and tells us how important it is for all of us :-) So I have researched this term and have come up with the following definitions: VCPI: a) A 386 and later processor memory management standard created by Phar Lap software in conjunction with other software developers. VCPI provides an interface between applications using DOS extenders and 386 memory managers. from Scott Mueller: "Upgrading and Repairing PCs - 14th Edition" b) A programming interface that allowed DOS-extended programs and Real Mode programs to run together in 386s. It was primarily developed by Quarterdeck to allow its DESQview multitasker to run DOS-extended programs. DPMI succeeded VCPI and provided and provided the same capability for Windows. from http://www.techweb.com/encyclopedia c) ...how to run real/protected mode programs one after another or better yet, one with another in a multitasking environment. An initial effort called the Virtual Control Program Interface(VCPI) addressed some of the issues, but wasn't general enough to allow multiple virtual DOS machines(VMs) running simultaneously in V86 or protected mode. To this end, the DOS DPMI specification was created and is a basic building block of Enhanced-Mode Windows. from Murry Sargent III & Richard Shoemaker "The PC from the Inside Out" I wonder what Phar Lap has to do with DESQview? Anyway, So Eric is correct - VCPI is more important than DPMI for FreeDos, since FD is not concerned with running DOS boxes in windows. At any rate, I hope this was of little interest to the people here who really do know this stuff, as well as to the others like me, and I hope someone can set me straight about the FDXMS, since these so called memory managers also generally do a lot of other things.... George