There are three sorts of memory pools. A variable size memory pool is for allocating blocks of any size. A fixed size memory pool, has the block size specified when the pool is created and only provides blocks of that size. Both of these pools must be explicitly created. The third type is the traditional heap which can be accessed using malloc and friends.