comp.lang.ada
 help / color / mirror / Atom feed
From: Martin Krischik <krischik@users.sourceforge.net>
Subject: Re: Is the Ada run-time required to detect out-of-memory conditions?
Date: Sun, 23 May 2004 10:20:24 +0200
Date: 2004-05-23T10:20:24+02:00	[thread overview]
Message-ID: <3786783.CRZ4Sa361O@linux1.krischik.com> (raw)
In-Reply-To: 3YmdnQbGo7stujPd4p2dnA@comcast.com

Robert I. Eachus wrote:

> Martin Krischik wrote:
> 
>> Just a thought: The page size on Intel CPU's is 4 kb. So most OS's on
>> Intel CPU will only handle mguarantyequests of at least one page.
>> 
>> I find it interesting that with request significantly larger then one
>> page everything seems Ok.
>> 
>> Lets Think: With GNAT allocation from the standart storrage pool are just
>> passed down to C's malloc ().
>> 
>> When smaller memory is requested most C compiler will bundele several
>> requests into one page request.
>> 
>> When larger  memory is requested some C compiler will just pass the
>> request on to the OS and some other will allways bundle.
> 
> This is interesting.  It sounds like almost the opposite of what I
> expected.  Apparently if the memory requests are large enough that some
> pages are left virtual, you get the Storage_Error.  But if the code
> results in every page allocated being 'touched' you get killed.

Of corse when you read

http://gee.cs.oswego.edu/dl/html/malloc.html

you will see that the OS service of dynamic memory on Unix is rather
primitive - compared to Windows OS/2 and such like.

The principle as I described it still holds however on Unix the program
append new memory to the end and will almost never be able to return memory
to the OS.

Unlike Windows OS/2 where a you can free an unused pages with (Dos)FreeMem.
Of corse I don't know if a particular free () implementation actually
searches for unused pages.

With Regards

Martin
-- 
mailto://krischik@users.sourceforge.net
http://www.ada.krischik.com




  parent reply	other threads:[~2004-05-23  8:20 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-05-20 22:54 Is the Ada run-time required to detect out-of-memory conditions? Ludovic Brenta
2004-05-21  0:44 ` Georg Bauhaus
2004-05-21  0:47 ` Stephen Leake
2004-05-21  0:54   ` Georg Bauhaus
2004-05-21  1:00     ` Stephen Leake
2004-05-21  3:29 ` Robert I. Eachus
2004-05-21  8:04 ` Vinzent 'Gadget' Hoefler
2004-05-21  9:34   ` Martin Krischik
2004-05-21 11:13 ` Wojtek Narczynski
2004-05-21 12:55   ` Martin Krischik
2004-05-21 16:00     ` Robert I. Eachus
2004-05-21 17:13       ` Ludovic Brenta
2004-05-21 23:41         ` Wojtek Narczynski
2004-05-23  8:20       ` Martin Krischik [this message]
2004-05-21 19:58   ` Randy Brukardt
2004-05-21 16:56 ` Mark H Johnson
2004-05-21 17:19   ` Ludovic Brenta
2004-05-21 21:39 ` user
2004-05-21 22:04   ` Ludovic Brenta
2004-05-21 22:11     ` Ludovic Brenta
2004-05-22 11:40       ` Simon Wright
2004-05-25 20:43     ` Is the Ada run-time required to detect out-of-memory Robert I. Eachus
2004-05-25 20:58       ` Duncan Sands
2004-05-25 21:19       ` Ludovic Brenta
2004-05-25 21:31         ` Duncan Sands
2004-05-26  7:09       ` Martin Krischik
2004-05-26  7:38         ` Duncan Sands
2004-05-26  8:16           ` Martin Krischik
2004-05-26  8:34             ` Duncan Sands
2004-05-26 16:20               ` Martin Krischik
2004-05-22 13:40   ` Is the Ada run-time required to detect out-of-memory conditions? Duncan Sands
2004-05-22 14:09     ` Martin Krischik
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox