内存池控制块结构体
2026/4/26小于 1 分钟结构体内存管理数据结构
内存池结构体
📚 本节导读
用途:内存池控制块结构
来源:kernel/include/os_dummy.h:260
一、结构体定义
struct dummy_mempool
{
void *start_addr_dummy; /* Memory pool start. */
void *free_list_dummy; /* Avaliable memory blocks list. */
os_size_t size_dummy; /* Size of memory pool */
os_size_t blk_size_dummy; /* Size of memory blocks, maybe not the size for users */
os_size_t blk_total_num_dummy; /* Numbers of memory block */
os_size_t blk_free_num_dummy; /* Numbers of free memory block */
os_list_node_t task_list_head_dummy; /* Task suspend on this memory pool */
os_list_node_t resource_node_dummy; /* Node in resource list */
uint8_t object_alloc_type_dummy; /* Indicates whether memory is allocated */
uint8_t object_inited_dummy; /* Whether inited. */
char name_dummy[OS_NAME_MAX + 1]; /* mempool name */
os_spinlock_t lock_dummy; /* Spin lock used under SMP */
};
typedef struct dummy_mempool dummy_mempool_t;二、内存算法枚举
enum os_mem_alg
{
#ifdef OS_USING_ALG_FIRSTFIT
OS_MEM_ALG_FIRSTFIT,
#endif
#ifdef OS_USING_ALG_BUDDY
OS_MEM_ALG_BUDDY,
#endif
OS_MEM_ALG_DEFAULT /*Use default memory algorithm */
};