Expand description
帧分配器模块
本模块提供物理内存帧的分配和跟踪功能。
§模块组成
FrameTracker:用于单个已分配帧的 RAII 封装器。FrameRangeTracker:用于已分配帧范围的 RAII 封装器。init_frame_allocator:初始化全局帧分配器。alloc_frame:分配单个帧。alloc_frames:分配多个(非连续)帧。alloc_contig_frames:分配多个连续帧。alloc_contig_frames_aligned:分配带对齐要求的多个连续帧。
Re-exports§
pub use frame_allocator::FrameRangeTracker;pub use frame_allocator::FrameTracker;pub use frame_allocator::TrackedFrames;
Modules§
- frame_
allocator 🔒 - 物理内存帧分配器模块
Functions§
- alloc_
contig_ frames - 分配指定数量的连续物理帧。
- alloc_
contig_ frames_ aligned - 分配指定数量的连续物理帧,并确保起始地址对齐。
- alloc_
frame - 分配一个物理帧。
- alloc_
frames - 分配多个物理帧(不保证连续)。
- dealloc_
contig_ 🔒frames - 回收一个连续的物理帧范围。此函数由 FrameRangeTracker 的 Drop 实现调用。
- dealloc_
frame 🔒 - 回收一个物理帧。此函数由 FrameTracker 的 Drop 实现调用。
- dealloc_
frames 🔒 - 回收多个物理帧(不保证连续)。
- get_
allocated_ frames - 获取已分配的帧数
- get_
free_ frames - 获取空闲的帧数
- get_
stats - 获取帧分配器的当前状态
- get_
total_ frames - 获取总的物理帧数
- init_
frame_ allocator - 使用可用的物理内存范围初始化全局帧分配器。