www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1993/06/04/00:57:14

From: sandmann AT clio DOT rice DOT edu (Charles W. Sandmann)
Subject: go32 & DPMI support (fwd)
To: djgpp AT sun DOT soe DOT clarkson DOT edu (djgpp), thomas AT uunet DOT UU DOT NET
Date: Thu, 3 Jun 1993 23:33:03 -0600 (CDT)

Forwarded message:
> From: ckgp!thomas AT uunet DOT uu DOT net
> Subject: go32 & DPMI support
> Date: Thu, 3 Jun 93 18:46:12 EDT
> 
> > Because djgpp still builds executables with data starting at the 4M
> > mark, you'll need at *least* 5M of available DPMI memory to run
> > anything.  The dpmiinfo program I posted a while back can give you
> > that information.
> 
>   I have not yet downloaded 1.10 (that 5 user limit)... butI was wondering
> when go32 uses DPMI does it just use the max amount and no longer swap
> memory to disk (virtual memory), meaning that go32 lets the dpmi server
> handle the virtual memory? 

DPMI does all of the memory handling (with one exception).  If the DPMI
server supports virtual memory (such as Win or OS/2) then you can use 
as much as it supports, and DPMI does the paging for you.  So, with DPMI
you are at the mercy of whoever wrote your DPMI server instead of at the
mercy of GO32 (which you have the source for :-) when it comes to page
faults.

The exception is system() - which still copies all of the memory to disk
before executing the child program.  The size of the file is typically 
fairly small, since I don't write the entire address space, just what
needs to be saved.  Without this, you need 10Mb of DPMI memory just to
compile "hello world" type programs.

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019