Module frame_allocator

Module frame_allocator 

Source
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
使用可用的物理内存范围初始化全局帧分配器。