[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: IDL Memory Management

davidf@dfanning.com (David Fanning) writes:

> Craig Markwardt (craigmnet@cow.physics.wisc.edu) writes:
> > Windows used to have a non-linear addressing model when physical
> > system memory was scarce.  Memory was allocated in chunks which could
> > be moved around by the Windows as needed, thus alleviating the above
> > fragmentation problem.  I think however that more recent versions of
> > Windows have accepted the linear "Unix" model of memory architecture
> > that I have described.
> As I understand it, the compiler used for the Windows versions
> of IDL *can* return process memory back to the OS. But it is
> the only one to do so. It is not a feature, apparently, of
> UNIX, Mac, and VMS compilers, which rely on Malloc and Free
> for dynamic memory allocation.

I suppose I am picking nits now.  The fragmentation problem actually
has nothing to do with the Unix compilers, malloc or free.  The
problem is that Unix-style processes have memory that is one
dimensional without holes.  [ To get technical, blame it on the
internal brk() function. ]

Windows NT also has a single linear memory space for processes, but it
may possibly have more features to deal with fragmentation

Nit-ingly yours,

Craig B. Markwardt, Ph.D.         EMAIL:    craigmnet@cow.physics.wisc.edu
Astrophysics, IDL, Finance, Derivatives | Remove "net" for better response