Sounds in some ways a little bit like AmigaOS 3.x memory pooling
(Amiga memory management, such as it was, wasn't like most other systems, but
bear with me:)
You asked the OS for a "memory pool" with:
CreatePool(memFlags,puddleSize,threshSize)
then allocated "puddles" from it with very low overhead with
AllocPooled(pool,memSize)
The API documentation is available on the web:
http://groups.google.com/groups?q=CreatePool+AllocPooled&start=10&hl=en&selm=2olvbu%24fut%40kraken.itc.gu.edu.au&rnum=19
(Someone apparently posted the complete v39 Amiga exec.library* autodocs**
to alt.sys.amiga.demos in 1994 - it makes interesting reading if you want
insight into "different" OS design. The Amiga OS had some ideas that were
good and some that were bad - one thing you seemed to be able to count on was
bizarre differences to most other OSes )
* effectively the "kernel" of amigaos - no clear kernel/user space
distinction, though. (no memory protection as we know it, and individual
functions in shared libraries including exec.library were dynamically
replaceable with SetFunction() )
** autodocs were like javadocs, but for C.
Maintained by the ILUG website team. The aim of Linux.ie is to
support and help commercial and private users of Linux in Ireland. You can
display ILUG news in your own webpages, read backend
information to find out how. Networking services kindly provided by HEAnet, server kindly donated by
Dell. Linux is a trademark of Linus Torvalds,
used with permission. No penguins were harmed in the production or maintenance
of this highly praised website. Looking for the
Indian Linux Users' Group? Try here. If you've read all this and aren't a lawyer: you should be!