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
next prev 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