首页> 中文学位 >基于TcMalloc的用户态内存管理软件的研究与实现
【6h】

基于TcMalloc的用户态内存管理软件的研究与实现

代理获取

目录

声明

摘要

第1章 绪论

1.1 研究背景及意义

1.2 研究现状

1.3 研究目标和研究内容

1.4 论文的组织结构

第2章 内存管理相关技术

2.1 存储器结构

2.2 虚拟存储器

2.2.1 页式虚拟存储器

2.2.2 段式虚拟存储器

2.2.3 段页式虚拟存储器

2.2.4 页表缓冲

2.3 Linux内存管理

2.3.1 物理内存管理器

2.3.2 内核内存管理器

2.3.3 虚拟内存管理器

2.3.4 用户内存管理器

2.4 常用内存管理算法

2.4.1 dlmalloc内存管理算法

2.4.2 PTMalloc内存管理算法

2.4.3 Jemalloc内存管理算法

2.4.4 TcMalloc内存管理算法

2.4.5 几种常用内存管理算法比较

2.5 本章小节

第3章 用户态内存管理软件的设计

3.1 应用需求

3.2 新的内存管理软件对TcMalloc的改进

3.3 用户态内存管理软件的模块结构设计

3.4 内存分类

3.5 Span设计

3.5.1 TcMalloc的Span结构

3.5.2 Span结构的改进

3.6 CentralCache的结构

3.6.1 TcMalloc算法中CentralCache结构

3.6.2 CentralCache结构的改进

3.7 large内存管理

3.7.1 large内存的申请

3.7.2 large内存的释放

3.8 PageHeap结构

3.8.1 TcMalloc算法中PageHeap结构

3.8.2 对PageHeap结构的改进

3.9 内存诊断设计

3.9.1 内存访问越界检查

3.9.2 内存重复释放检查

3.9.3 内存泄露检查

3.9.4 内存统计

3.10 本章小结

第4章 用户态内存管理软件的实现

4.1 三级缓存结构的实现

4.1.1 内存块管理结构

4.1.2 ThreadCache的实现

4.1.3 CentralCache的实现

4.1.4 PageHeap的实现

4.1.5 缓存间交互

4.2 内存诊断功能的实现

4.2.1 内存访问越界检查

4.2.2 内存重复释放检查

4.2.3 内存泄露检查

4.2.4 内存统计

4.3 内存管理软件的测试

4.3.1 内存分配效率测试

4.3.2 内存占用测试

4.3.3 内存访问越界

4.3.4 内存泄露

4.3.5 内存统计

4.4 本章小结

第5章 总结与展望

5.1 总结

5.2 展望

参考文献

致谢

攻读学位期间发表的论文

展开▼

摘要

随着计算机技术和互联网的快速发展,以及人们对多媒体信息技术应用和消费类电子产品需求的加强,嵌入式系统的应用逐渐变得更加广泛和深入。我们日常生活中随处可见的网络和计算,使得嵌入式系统的实时性、高效性和可靠性要求显得极为重要。嵌入式系统要求能够充分高效的利用有限的系统资源,为了保证资源的充分利用和存储数据的安全可靠,对于内存管理算法的研究就显得意义重大。
  内存管理通常需要考虑速度、性能、易用性、实现难度、支持线程的能力等多方面的因素。当前公司平台使用的内存管理软件效率不高,需要实现一套新的内存管理软件用以替换原本的内存管理软件。本文面向路由器、交换机等嵌入式系统的特定应用需求,在分析当前主流的嵌入式系统内存管理算法的基础上,比较了dlmalloc、PTMalloc、Jemalloc、TcMalloc几种常用内存管理算法的优缺点,选取多线程情况下性能相对较好的TcMalloc算法进行改进,设计并实现了一种用户态下多级缓存的内存管理软件。新的内存管理软件沿用了TcMalloc的三级缓存结构,对TcMalloc内存分类、三级缓存结构等进行了相应的改进设计,增加了内存越界检查、内存泄露检查、内存统计等内存诊断功能,这些功能可用于快速定位并解决内存使用中遇到的问题。测试表明,新的内存管理算法在多线程应用下效率有所提高,能够更好的适应交换机、路由器等设备在多线程情况下大批量的内存申请、释放需求,且在一定程度上改进了TcMalloc算法的内存浪费现象。

著录项

相似文献

  • 中文文献
  • 外文文献
  • 专利
代理获取

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号