12 unstable releases (4 breaking)
Uses new Rust 2024
| new 0.17.2 | May 9, 2026 |
|---|---|
| 0.17.1 | Mar 12, 2026 |
| 0.17.0 | Dec 13, 2025 |
| 0.16.1 | Sep 24, 2025 |
| 0.14.1 | Mar 22, 2025 |
#220 in Memory management
29 downloads per month
1.5MB
27K
SLoC
An implementation of the global physical memory frame allocator for OSTD based kernels.
Background
OSTD has provided a page allocator interface, namely GlobalFrameAllocator
and global_frame_allocator procedure macro, allowing users to plug in
their own frame allocator into the kernel safely. You can refer to the
ostd::mm::frame::allocator module for detailed introduction.
Introduction
This crate is an implementation of a scalable and efficient global frame allocator based on the buddy system. It is by default shipped with OSDK for users that don't have special requirements on the frame allocator.
osdk-frame-allocator
This is the default buddy system frame allocator shipped with OSDK. It relies on the physical frame metadata system in OSTD to provide a heap-free implementation of a buddy system allocator for OS kernels. It also features per-CPU caches and pools for scalable allocations.
This crate is part of the Asterinas project.
Dependencies
~8MB
~157K SLoC