awesome-repositories.com
Blog
MCP
awesome-repositories.com

Découvrez les meilleurs dépôts open-source grâce à notre recherche par IA.

ExplorerRecherches sélectionnéesAlternatives open sourceLogiciels auto-hébergésBlogPlan du site
ProjetÀ proposNotre méthodologiePresseServeur MCP
Mentions légalesConfidentialitéConditions d'utilisation
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
CCareaga avatar

CCareaga/heap_allocator

0
View on GitHub↗

Heap Allocator

This project is a C-based heap management library designed for systems programming environments that require manual control over memory lifecycles. It provides the fundamental utilities necessary to initialize a designated region of memory and perform dynamic allocation and deallocation of memory blocks.

The library utilizes a linked-list-based tracking system to manage memory segments, employing a first-fit strategy to locate available space within the heap. To maintain memory organization and minimize fragmentation, it implements boundary-tag coalescing, which automatically merges adjacent free blocks during the reclamation process.

These capabilities support low-level memory management in resource-constrained settings, such as bare-metal systems, embedded devices, and custom kernel development. The implementation relies on direct pointer arithmetic to calculate offsets and manage metadata headers within the heap structure.

Recherche par IA

Explorez plus de dépôts awesome

Décrivez vos besoins en langage naturel — l'IA classe des milliers de projets open source sélectionnés par pertinence.

Start searching with AI

Features

  • Managed Memory Allocators - Provides a C-based library for dynamic memory allocation and deallocation in systems programming environments.
  • Manual Deallocation Routines - Reclaims unused memory blocks and performs boundary-tag coalescing to maintain contiguous free space.
  • System Memory Allocation - Reserves specific memory amounts from the managed heap and returns pointers for application use.
  • Heap Chunk Identification - Implements a heap management library that tracks memory blocks and merges free chunks to reduce fragmentation.
  • Memory Allocation Managers - Manages memory segments by maintaining a chain of metadata headers that track the size and availability of each heap region.
  • Free Block Search Strategies - Uses a first-fit search strategy to efficiently locate available memory segments within the heap.
  • Bare-Metal Runtimes - Provides structured heap management for bare-metal environments lacking an operating system.
  • Embedded Memory Management - Optimizes memory management for resource-constrained embedded systems where standard library allocators are unavailable.
  • Segregated Heap Allocators - Initializes designated memory regions into structured heaps to enable efficient resource management.
  • Low-Level Systems Programming - Enables low-level systems programming by providing manual control over memory layout and allocation performance.
  • Manual Memory Management Utilities - Offers a compact utility for manual memory lifecycle management and direct heap control.
  • Operating System Development - Supports low-level memory management requirements for custom kernel and operating system development.
  • Heap Initialization Routines - Configures a pre-allocated memory region into a managed heap structure by initializing the starting header.
  • Boundary Tag Coalescers - Implements boundary-tag coalescing to merge adjacent free memory blocks and minimize heap fragmentation.
  • Pointer Arithmetic - Performs direct byte-level pointer arithmetic to calculate offsets and manage metadata headers within the heap.
915 stars·71 forks·C·MIT·4 vues

Historique des stars

Graphique de l'historique des stars pour ccareaga/heap_allocatorGraphique de l'historique des stars pour ccareaga/heap_allocator

Collections incluant Heap Allocator

Sélections manuelles où Heap Allocator apparaît.
  • Memory management systems

Questions fréquentes

Que fait ccareaga/heap_allocator ?

This project is a C-based heap management library designed for systems programming environments that require manual control over memory lifecycles. It provides the fundamental utilities necessary to initialize a designated region of memory and perform dynamic allocation and deallocation of memory blocks.

Quelles sont les fonctionnalités principales de ccareaga/heap_allocator ?

Les fonctionnalités principales de ccareaga/heap_allocator sont : Managed Memory Allocators, Manual Deallocation Routines, System Memory Allocation, Heap Chunk Identification, Memory Allocation Managers, Free Block Search Strategies, Bare-Metal Runtimes, Embedded Memory Management.

Quelles sont les alternatives open-source à ccareaga/heap_allocator ?

Les alternatives open-source à ccareaga/heap_allocator incluent : angrave/systemprogramming — This is an open-source, crowd-sourced wiki textbook that teaches Linux system programming in C. It covers the core… phil-opp/blog_os — This project is a freestanding kernel written in Rust that boots on x86 hardware without a standard library. It serves… intermezzos/kernel — Kernel is an educational hobby operating system and low-level systems programming project written in Rust. Designed… nasa/fprime — F Prime is a component-based framework designed for the development and deployment of embedded and spaceflight… electronicarts/eastl — EASTL is a C++ Standard Template Library implementation consisting of containers, iterators, and algorithms. It… higherorderco/hvm2 — HVM2 is a high-performance execution environment for pure functional programs, implemented as a systems-level runtime…

Alternatives open source à Heap Allocator

Projets open source similaires, classés selon le nombre de fonctionnalités partagées avec Heap Allocator.
  • angrave/systemprogrammingAvatar de angrave

    angrave/SystemProgramming

    5,734Voir sur GitHub↗

    This is an open-source, crowd-sourced wiki textbook that teaches Linux system programming in C. It covers the core operating system concepts of process management through the fork-exec-wait model, dynamic memory allocation using implicit free list heap allocators, inode-based file systems, inter-process communication via pipes and shared memory, POSIX threads with synchronization primitives, signal-based asynchronous notification, virtual memory with page table translation, and runtime diagnostics using Valgrind and GDB. The textbook distinguishes itself by providing practical, implementation

    Voir sur GitHub↗5,734
  • phil-opp/blog_osAvatar de phil-opp

    phil-opp/blog_os

    17,518Voir sur GitHub↗

    This project is a freestanding kernel written in Rust that boots on x86 hardware without a standard library. It serves as a low-level system implementation focusing on the creation of a bare metal operating system. The system implements a bootable disk image toolchain that transforms source code into binaries compatible with a bootloader. It features a custom memory allocator for dynamic memory management and an x86 kernel implementation that includes paging, interrupt handling, and VGA text mode. The project covers several core capability areas, including low-level memory management through

    HTMLkerneloperating-systemrust
    Voir sur GitHub↗17,518
  • intermezzos/kernelAvatar de intermezzOS

    intermezzOS/kernel

    1,396Voir sur GitHub↗

    Kernel is an educational hobby operating system and low-level systems programming project written in Rust. Designed for students and hobbyists, the project provides a minimalist environment to explore computer architecture, CPU design, and kernel development directly on hardware without relying on a standard library or underlying operating system. The implementation features a freestanding language runtime and a custom target specification that replaces standard library components for bare-metal execution. It includes a multiboot bootloader interface to parse early-boot hardware handoff stat

    Rust
    Voir sur GitHub↗1,396
  • nasa/fprimeAvatar de nasa

    nasa/fprime

    10,766Voir sur GitHub↗

    F Prime is a component-based framework designed for the development and deployment of embedded and spaceflight software. It provides a modular architecture that decouples software logic from communication interfaces, allowing developers to define system structures through a domain-specific modeling language. This model-based approach enables automated code generation, ensuring consistency across complex system topologies while maintaining strict interface contracts between software modules. The framework distinguishes itself through its integrated build system and ground data operations suite

    C++componentscppembedded
    Voir sur GitHub↗10,766
Voir les 30 alternatives à Heap Allocator→