home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!charon.amdahl.com!pacbell.com!sgiblab!swrinde!news.dell.com!natinst.com!cs.utexas.edu!asuvax!ukma!psuvax1!uxa.ecn.bgu.edu!garrot.DMI.USherb.CA!newsflash.concordia.ca!clyde.concordia.ca!altitude!Nyongwa.CAM.ORG!illusion!UUCP.Gateway
- From: Mark.Kraml@f250.n514.z17.fidonet.ftn (Mark Kraml)
- Newsgroups: alt.msdos.programmer
- Subject: QEMM/386
- Message-ID: <721548484.F00002@illusion.tpg.org>
- Date: 12 Nov 92 02:45:28 GMT
- Sender: UUCP.Gateway@illusion.tpg.org
- Lines: 86
-
- Hello Jeff!
-
- Monday November 09 1992, Jeff Silverman writes to All:
-
- JS> From: silverm@bcstec.ca.boeing.com (Jeff Silverman)
- JS> Newsgroups: alt.msdos.programmer
- JS> Subject: QEMM/386
- JS> Organization: Boeing Computer Services, Seattle
- JS> @Message-ID: <4141@bcstec.ca.boeing.com>
- JS> Date: 9 Nov 92 05:44:05 GMT
-
-
- JS> I am a VAX/VMS guru in the process of becoming an MS-DOS guru. If these
- JS> questions sound naive, it is because I am coming at these from a strange
- JS> perspective.
-
- i hope they pay you plenty. :)
-
- JS> In the VAX/VMS operating system, programs execute in their own virtual
- JS> address space, which gets mapped on a page by page basis into physical
- JS> memory. 2 VMS programs can be running at the same virtual address yet
- JS> address different pages of physical memory, because the mapping is done
- on
- JS> a per-process basis and the OS handles all that transparently. The
- JS> programmer sees 1, big pool of RAM.
-
- nice. one day bill gates will hear about this.
-
- JS> What does QEMM/386 do, from a programmers point of view? It appears to
- JS> move things around in both physical and virtual memory. How is this
- JS> possible? If something, say, a TSR, is moved out of low memory and into
- JS> either High Memory (By high memory, I mean the region between 640K and 1
- JS> Mbyte) or extended memory, how does it keep working?
-
- the program is loaded at the high address. all the power of the 386 VM and
- memory page mapping hardware, that has been around for years now,is still used
- to ..... wait..... put a piece of ram up high so a program can load into it.
-
- JS> All of the
- JS> destinations for jump instructions would change. Or does the 80386 have
- JS> additional memory relocation? How does QuarterDeck's OPTIMIZE program
- JS> work?
-
- i only calculates the sizes of the TSR that load and them tries to fit them
- into the holes above 640k. what does not fit get loaded low. you must reboot
- the computer to install all these TSR at their new high addresses.
-
- JS> Please don't say it works well, I KNOW it works well, I've been
- JS> playing with it, I can see that it works, but don't know what it's doing
- JS> or how it does it.
-
- it works good. <big brin>
-
- JS> Well, I do know what its doing, it's modifying
- JS> CONFIG.SYS to free up more RAM in the lower 640K region.
-
- thats the picture.
-
- JS> Why does DOS have
- JS> a 640Kbyte limit?
-
- because dos is compatible down to the 8088 processor. and with so many systems
- out there the programs are all getting written for these machines. now with
- windows NT and OS/2 comming around the bend more and more programs will get
- written for the larger address space models.
-
- JS> Why would anybody ever want to use expanded RAM if
- JS> extended RAM is available?
-
- because the 8088 based systems can only use expanded ram.
-
- JS> If I have a "C" program which runs properly
- JS> under VMS, but needs, say, 3 Mbytes of RAM to store all its data
- JS> structures, what is the best way to run it under DOS? Under Windows?
-
- under VMS.
-
- just kidding. if you run on a 386 or the like you can compile your program
- with 1 of many DOS extenders. Phar-Lap is such a product. they will permit you
- to run a 32bit application with lots of ram and still be compatible with DOS.
-
- running under windows is also good. if DOS support is important then i can
- recommend OS/2. it will run DOS programs. and will let you run large 32 bit
- programs.
-
- Mark
-