Memory Considerations
A version of this page is also available for
4/8/2010
To improve real-time performance, allocate memory for kernel objects whenever a process starts.
To allocate memory, the kernel supports several types of kernel objects, such as processes, threads, critical sections, mutexes, events, and semaphores. Because the OS uses virtual memory, all kernel objects are allocated in virtual memory, and thus the memory for these objects is allocated on demand. Once the kernel has allocated memory for a kernel object, it does not release the memory back to the system after the object has been freed. The kernel keeps this pool of memory available, reusing memory from the pool when necessary, and allocating more memory when the memory pool is insufficient.
Three types of memory can affect real-time performance: virtual, heap, and stack. Whether these improve or decrease performance depends on how you implement them. For more information about these memory types, see the following topics: