DID Memory Allocator
  OCERA Home  /  Download  /  Components  /  Scheduling  /  DID Memory Allocator (0.70-1)
  Training and support
    POSIX Streams

  Resource management
    Generic Scheduler patch
    Preemption+RTLinux patch
    RTLinux API on Linux
    QoS Manager
    Linux/CBS Scheduler

  Scheduling
    Application Scheduler
    TLSF Memory Allocator
    POSIX CPU Clocks
    POSIX Barriers
    POSIX Message Queues
    POSIX Signals
    POSIX Timers
    POSIX Trace
    RTLinux/CBS Scheduler
    RTLinux CC
    GNAT for RTLinux
    RTLinux ide/fs
    RTLinux Java
    RTLinux Terminal
    RTLinux UDP/IP
    Stand-Alone RTLinux
    XtratuM

  Fault-tolerance
    FT Application Monitor
    FT Controller

  Communication
    CANopen device
    CAN/CANopen monitor
    Virtual CAN API
    RT Ethernet Analyzer
    Linux CAN Driver
    ORTE
    CAN model
    Verification of RTOS

Doubly Indexed Memory Allocator

   Description
Keywords: Real-Time, Dynamic Memory, DIDMA, malloc, free
Description: RTLinux does not provide any kind of memory management support, neither virtual memory (by mean of the processor MMU page table or memory segments) nor simple memory allocation, as the one provided by the standard "C" library. RTLinux applications has to preallocate all the required memory in the init_module() function before the threads are created. Once the RTLinux threads are created, the only memory that can be used is the stack of each thread. The main reason behind the lack of memory management support in RTLinux is the idea that both virtual memory and dynamic storage allocator (DSA) algorithms introduce a unbounded overhead, making the system response unpredictable and non-realtime. This component provides dynamic memory allocation with real time characteristics. The allocator implemented in this component is a new DSA algorithm specially designed with the aim of obtaining bounded response time. The new algorithm is called DIDMA (Doubly Indexed Dynamic Memory Allocator). It is based on the use of a pure segregated strategy. See [Paul 95] for an exhaustive taxonomy and review of existing DSA algorithms.
   General information
Author(s): Miguel Masmano (UPVLC)
Participants: Universidad Politecnica de Valencia
Workpackage: Development of real-time scheduling components (WP5)
Component homepage: http://www.ocera.org
Licenses: GPL
Current version: 0.70-1
Status: Stable
Hardware:
Processor: i386
Platform:
RTLinux: 3.2
Dependencies: RTLinux(3.2)
   Download
Current version: 0.70-1 [dynmem-0.70-1.tgz] [src] [CVS at SourceForge]
Previous versions: [0.3]
Note: This component can be used outside of the OCERA framework.

 Status codes: Analysis >> Design >> Alpha >> Beta >> Testing >> Stable

© OCERA Project. webmaster@ocera.org
Maintained by: Sergio Sáez   Last update: Wed Jan 10 16:56:56 2007