微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 嵌入式系统e_slab的研究与实现

嵌入式系统e_slab的研究与实现

时间:11-25 来源:3721RD 点击:

2.4.2 cache的释放

当系统不再使用某种对象时,系统要销毁管理对象的cache。cache销毁流程如下:

(1)将cache从管理队列摘掉。将cache从cache_cache组成的双向队列中删除。

(2)确定cache中没有e_slab。在cache销毁前,必须确定所管理的对象都已释放,检查cache的list队列,为空则cache中没有e_slab,否则进行e_slab释放。

(3)释放cache结构占用的内存。由于cache是cache_cache管理的对象,cache结构的释放过程就是对象的释放过程。

3 性能测试

在嵌入式系统内存管理设计过程中,分别采用页面分配器与slab分配器相结合的方案和页面分配器与e_slab分配器相结合的方案,比较两种方案中slab和e_slab管理结构的内存占用量和内存分配释放中的性能。

在管理结构内存占用方面,e_slab比slab节省了43%的空间;在对象的c过程中,e_slab的速度比slab快8%;内存释放过程中,e_slab比slab快5%。可见,不管在时间上还是空间上,e_slab性能都比slab优越。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top