A memory manager for single and multi-tasking applications