www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1994/11/04/21:02:29

Date: Fri, 4 Nov 1994 22:28:09 +0100
From: Kim Jersin <u940422 AT daimi DOT aau DOT dk>
To: djgpp AT sun DOT soe DOT clarkson DOT edu
Subject: RE: GnuC memory allocation and swapping do disk.

Hi Pete

Yoy asked:
> How do I find out, just before allocating the array, 
> exactly how much free RAM is available ? If I could know this, I 
> could always make sure that no swapping do disk occurs and at the 
> same time ensure full usage of RAM.

> I have tried looking through the mem.h and dos.h headers and all the 
> doumentation, but I seem to be unable to find out how to do this.

The standard memory functions can't tell the difference between normal 
memory and memory swapped to disk and that's exactly the meaning of 
virtual memory. Programs shouldn't notice (except for speed).

You have to ask the virtual memory manager, in this case the DJGPP dos 
extender go32, or if running under DPMI, this memory manager (Windows 
dos box, QEMM with DPMI support, etc.). In either case you can call a 
go32 function called _go32_dpmi_remaining_physical_memory() (prototyped 
in dpmi.h) or you can call the DPMI service "Get Free Memory 
Information" (int 0x31 with AX = 0x0500).

The DJGPP package includes a sample in samples/dpmi/dpmimem.c wich, 
among other things, uses the above mentioned go32 function.

Kim Jersin


- Raw text -


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