summaryrefslogtreecommitdiff
path: root/docs/tutorials/021/page01.html
diff options
context:
space:
mode:
Diffstat (limited to 'docs/tutorials/021/page01.html')
-rw-r--r--docs/tutorials/021/page01.html36
1 files changed, 36 insertions, 0 deletions
diff --git a/docs/tutorials/021/page01.html b/docs/tutorials/021/page01.html
index 262bdeac5cc..e3f13fee257 100644
--- a/docs/tutorials/021/page01.html
+++ b/docs/tutorials/021/page01.html
@@ -24,5 +24,41 @@
memory pool that is sharable between a client and server. We'll
use a memory mapped file to provide the physical storage but
shared memory works just as well.
+<P>
+Kirthika's abstract:
+<UL>
+The ACE_Malloc class is templatised by the type of memory pool
+and the lock for it. The name of the memory pool provided can be used
+in the "bind" call made by the server. This helps the other party
+wanting to access it do so by a "find" call. The ACE_Malloc will
+allocate
+memory and on a "malloc" will return memory chunks from its reserve.
+When the memory chunk is freed by the user, it will be appended to the
+free list maintained by the class. Unless a "remove" is done explicitly,
+the memory wont be returned to the OS. Various memory pool types can be
+used,
+ ACE_MMap_Memory_Pool,ACE_Sbrk_Memory_Pool to name a few.
+For further details: <A HREF="../../ace/Memory_Pool.h">ace/Memory_Pool.h</A>.
+<P>
+In this tutorial, a ACE_Malloc class with ACE_MMAP_MEMORY_POOL
+and a semophore for syncronisation has been used. This is locked by
+the server initially and released after it writes into it so that
+the client waiting for it can go ahead and do its job. There is yet
+another semaphore used by the server to exit only after the client
+has finished its task, which is locked by the client at the start
+and released when its done.
+<P>
+Some more information regarding memory management:
+ACE also provides the ACE_Allocator class which uses
+dynamic binding and is flexible, though at a cost of using
+virtual pointer tables. Also, there is an ACE_Allocator_Adapter class
+which has an ACE_Allocator interface but ACE_Malloc functionality.
+<P>
+Bottomline: Memory can be managed either using the ACE_Allocator
+set of classes which uses polymorphism and is thus flexible but not as
+efficient as the templatised version which is the ACE_Malloc set of
+classes which are more efficient but not as felxible.
+
+</UL>
<P><HR WIDTH="100%">
<CENTER>[<A HREF="../online-tutorials.html">Tutorial Index</A>] [<A HREF="page02.html">Continue This Tutorial</A>]</CENTER>