Patent ID: 8245239

Claim:
A method, comprising: executing one or more applications in a deterministic execution environment, wherein the deterministic execution environment comprises functions that are bounded in terms of resource utilization and execution time, and wherein the deterministic execution environment is associated with a memory comprising at least one indirectly-accessed relocatable memory block identified through at least one pre-allocated connector and at least one directly-accessed non-relocatable memory block, the memory blocks arranged into a plurality of chains, each chain anchored by a corresponding anchor, each anchor comprising a size indicator that identifies a smallest block in the corresponding chain, the anchors sorted based on the size indicators; and executing a plurality of background tasks in the deterministic execution environment, the one or more applications and the background tasks executed in different time slots; wherein at least one of the background tasks is executed incrementally in multiple non-adjacent time slots so as to prevent the at least one background task from interfering with the execution of the one or more applications; and wherein, upon a determination that at least one of the one or more applications requires an amount of memory, a scan is performed to locate one of the anchors identifying enough free space in the memory to satisfy the amount of memory required by the at least one application.