WindowsCE内存管理机制的研究与改进

来源 :沈阳工业大学 | 被引量 : 0次 | 上传用户:scz
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
嵌入式系统是以应用为中心,以计算机技术为基础,软硬件均可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。在嵌入式系统的体系结构中,嵌入式操作系统起到了至关重要的作用。WindowsCE作为一种优秀的嵌入式操作系统,得到了广泛的应用。 WindowsCE需要运行在资源受限的嵌入式系统上,因此它的内存管理功能相对于传统的桌面系统做了较大的简化。但是,这种简化在降低了执行成本的同时,也影响了功能的完备性。这就使得WindowsCE的虚拟内存管理、堆管理以及进程空间管理等功能均出现了不完善之处。 为了改善WindowsCE内存管理功能,本文首先剖析了WindowsCE的内存管理机制,通过分析WindowsCE源代码,从数据结构、算法原理等方面详细阐述了WindowsCE的物理内存管理机制、虚拟内存管理机制以及堆管理机制的工作原理,同时,分析了WindowsCE内存管理机制的建立过程,研究了WindowsCE虚拟内存管理机制在X86内存管理单元上的工作原理。 本文介绍了一种类对象空间管理机制,在创建类对象时,分配空间并调用构造函数生成对象,在销毁类对象时释放空间并析构对象,采用标准C++的操作符重载机制解决调用构造函数和析构函数的问题,利用小对象分配技术对小型类对象空间的分配进行特殊处理,将相同大小的类对象集中管理,从而达到优化WindowsCE堆空间使用的效果,经过测试,该机制的性能优于标准C++分配器。 针对WindowsCE虚拟内存分配机制存在的问题,本文设计了新的虚拟内存管理机制,主要用于存储动态数据结构,该机制使用内存池机制进行内存分配。本文重点介绍了使用到的数据结构以及主要函数的实现流程,为了提高实用性,本文设计了碎片整理算法,在内存池中出现大量碎片时,对内存池空间进行优化。本文给出了与WindowsCE虚拟内存分配机制的对比测试结果。
其他文献