/*
    ChibiOS/RT - Copyright (C) 2006,2007,2008,2009,2010 Giovanni Di Sirio.
    This file is part of ChibiOS/RT.
    ChibiOS/RT is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 3 of the License, or
    (at your option) any later version.
    ChibiOS/RT is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see 
 * The OS offers three distinct ways to manage memory, each one with its
 * weaknesses and strengths:
 * - Core Memory Manager. See @ref memcore.
 * - Heap Allocator. See @ref heaps.
 * - Memory Pools. See @ref pools.
 * .
 * The three mechanisms are able to coexist and are well integrated, as example
 * the heap allocator uses the core memory manager in order to get more
 * memory blocks, memory pools can optionally do the same thing.
 * 
 * 
| * Subsystem ** | * Free capable ** | * Constant time ** | * Safe ** | * From IRQ ** | * Notes ** | 
|---|---|---|---|---|---|
| * Static Objects ** | N/A* | N/A* | YES* | YES* | * Preferred solution for safety applications. ** | 
| * Core Memory Manager ** | NO* | YES* | YES* | YES* | * Fast and safe but unable to free allocated memory. ** | 
| * Heap Allocator ** | YES* | NO* | NO* | NO* | * Unsafe because fragmentation and not constant time, cannot be used * from IRQ handlers. ** | 
| * Memory Pools ** | YES* | YES* | YES* | YES* | * Fast and safe but it can handle fixed size objects only, you may have * multiple memory pools however. ** | 
| * C-Runtime ** | YES* | NO* | NO* | NO* | * Unsafe because fragmentation, not constant time, cannot be used * from IRQ handlers and not thread safe. The C runtime must also be * modified in order to work with the other allocators. ** |