Logo
Pattern

Discover published sets by community

Explore tens of thousands of sets crafted by our community.

Memory Allocation Strategies

12

Flashcards

0/12

Still learning
StarStarStarStar

Heap Allocation

StarStarStarStar

Memory is dynamically allocated at runtime and requires explicit deallocation. It is flexible but can lead to fragmentation.

StarStarStarStar

Buddy System Allocation

StarStarStarStar

Memory is divided into power-of-two sized blocks. Buddies are blocks of the same size and are split/combined to accommodate memory requests.

StarStarStarStar

Reference Counting

StarStarStarStar

Each object has a count of the number of references to it, and when the count reaches zero, the object can be deallocated.

StarStarStarStar

Static Allocation

StarStarStarStar

Memory is allocated at compile time and the allocation does not change at runtime. It is used for global and static variables.

StarStarStarStar

Stack Allocation

StarStarStarStar

Memory is allocated and de-allocated in a last-in, first-out order, typically for local variables within functions.

StarStarStarStar

Garbage Collection

StarStarStarStar

Automatic reclamation of memory that is no longer referenced by the program, reducing the need for explicit deallocation.

StarStarStarStar

Segmentation

StarStarStarStar

Memory is divided into segments based on the logical division of code, such as functions, data, objects, etc., allowing non-contiguous allocation.

StarStarStarStar

Slab Allocation

StarStarStarStar

A memory management scheme meant for objects of fixed size where slabs are pre-allocated chunks of memory meant to hold a specific type of object.

StarStarStarStar

Region-based Memory Management

StarStarStarStar

Memory is allocated from a region (also called an arena) where all objects within have the same lifetime and are deallocated simultaneously.

StarStarStarStar

Subdivision

StarStarStarStar

Dividing memory into blocks of various sizes to fit different allocation requests, aiming to reduce wastage and fragmentation.

StarStarStarStar

Pooling

StarStarStarStar

A type of memory management where a pool of memory objects is maintained and reused for efficient allocation and deallocation.

StarStarStarStar

Escaping Analysis

StarStarStarStar

Compiler optimization technique that determines if a variable can be allocated on the stack, because it does not escape the function scope where it is used.

Know
0
Still learning
Click to flip
Know
0
Logo

© Hypatia.Tech. 2024 All rights reserved.