可控动态内存分配器的研究与开发

来源 :中南大学 | 被引量 : 0次 | 上传用户:ahde2006
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
动态内存分配器是操作系统最基本的组成部分,在进程的执行过程中为进程提供动态的内存区域。进程能够根据需要向动态内存分配器申请新的内存区域或者是释放已经分配了的内存区域。动态内存分配器也在高级语言程序设计中占有重要作用,其设计优劣直接关系到进程的速度和内存空间使用效率。本文设计了一个基于类UNIX操作系统的用户态下具有可控性的动态内存分配器———ztmalloc。Ztmalloc根据用户进程所申请的内存空间大小使用三种不同的分配模式实现,即小型、中型和大型模式。小型模式下,ztmalloc对内存块进行两次划分,第一次划分成为大小相等的内存行,第二次将行划分成大小相等的内存区域,然后选择空闲区域分配给用户进程。中型模式下,ztmalloc使用伙伴内存系统,对内存块进行划分,然后选择合适的区域进行分配。大型模式下,ztmalloc取所需内存空间大小向上向内存块大小的整数倍取整的结果作为用户进程所需的内存区域。为了提高性能,ztmalloc还使用了包括多线程优化、快速缓冲存储器优化、虚拟内存系统优化在内的诸多优化方式。本文对于ztmalloc的性能进行了分析和测试,测试结果表明,ztmalloc性能良好,具有一定的竞争力。
其他文献
本文主要讨论高维空间球集最小球覆盖问题和二维空间圆集最小圆覆盖问题。高维空间最小球覆盖问题是指对于给定的高维空间球集S,求解覆盖S中所有球的最小球。二维空间最小圆
工作流是业务流程的计算机化或自动化。工作流管理系统是一个软件系统,它完成工作流的定义和管理,并依据在系统中预先定义好的工作流逻辑进行实例的执行。工作流技术要解决的
汉语属于分析性语言,缺乏严格意义上的形态变化,汉语的副词承担着繁重的语法任务,在汉语语法系统中具有重要地位。副词在自然语言理解与生成中的重要性不言而喻。目前已有的
容错编码技术是针对数据传输与存储系统所面临的容错信道,保证数据高效、可靠传输与存储的一种前向纠错编码技术.随着P2P网络、多播传输等技术的发展,基于数据块或数据包的大
从生物序列中识别基序是生物信息学中的一个热点问题,也是生物学中研究基因调控机制的基础计算问题之一。由于基序长度较短、非百分百保守以及生物数据复杂性高等原因,通过计
边缘检测技术是图像分析的重要内容,也是图像处理领域中一种重要的预处理技术,受到了人们广泛的关注和重视。由于实际应用中图像质量的优劣性和目标的复杂性,进行边缘检测时
随着电子商务的普及与发展,大部分网络消费者在购买商品前都会浏览商品的用户评论信息,这些评论信息不仅对消费者做购买决策有帮助,对生产厂家或电商公司获取商品市场反馈也
中国是一个多民族组成的国家,文化多种多样,语言沟通成为促进民族发展、民族团结和共同繁荣的重要因素,而语言翻译是解决语言沟通不畅问题的主要手段。然而人工翻译已经无法
由于教学理论的发展,现代社会对于人才教育的方式也由传统的教师为中心转变为学生为主体的教学模式。网络化教学E-learning作为一种依托科学技术而发展起来的教学方式正好满
编写正确的程序并不容易,而编写正确的并发程序就更难了。与顺序执行的程序相比,并发程序中显然更加容易出现错误。同时,伴随着处理器数量的增加,有效地采用并发会变得越来越