7个版本 (4个稳定版本)
1.2.0 | 2020年11月16日 |
---|---|
1.1.0 | 2020年5月21日 |
1.0.0 | 2020年4月21日 |
0.1.0 | 2019年10月29日 |
#506 in 内存管理
每月 32 次下载
32KB
618 行代码
polymorph-allocator
一个简单的Rust内存分配器,为polymorphOS设计。
该crate深受awooOS/dmm的启发,这是一个用于裸机使用的简单C内存分配器。
在其当前状态下,polymorph-allocator
是可用的,但它对于大量的小型分配可能较慢。这是其设计的一个副作用——每次分配都需要遍历整个已分配块列表,直到找到空闲块。
polymorph-allocator
的下一次主要版本计划完全改变分配方式,这将提高其速度,但也会增加其复杂性。当前版本的polymorph-allocator
非常易于理解,因此它可以作为一个很好的学习工具。谁知道呢。
用法
use polymorph_allocator::LockedAllocator;
#[global_allocator]
pub static ALLOCATOR: LockedAllocator = LockedAllocator::empty();
fn main() {
// For a 32MB heap starting at 1MB in RAM:
ALLOCATOR.lock().add_region(0x100000, 0x2000000);
}
许可证
polymorph-allocator
在MIT许可证下授权,与polymorphOS的其余部分相同。
您可以在该仓库顶层中的LICENSE
文件中找到此许可证。
依赖项
~255KB