论文部分内容阅读
内存管理是操作系统的核心功能之一,主要负责操作系统运行时对计算机的内存资源进行分配和使用。虚拟内存管理是现代操作系统内存管理的一个主要组成部分,它为每个用户进程提供了一个庞大的、私有的、连续的虚拟内存地址空间,既缓解了物理内存资源的不足,又提供了强大的保护机制,从而将应用软件的编程人员从繁杂的存储管理中释放出来。内存管理子系统的设计与实现对于软件系统的开发和运行至关重要。 本文针对北京大学微处理器研究开发中心研发的UniCore-3处理器和Linux操作系统,在系统研究Linux操作系统内存管理机制的基础上,设计实现了面向UniCore-3处理器的内存管理子系统。本文的主要工作包括: 1、系统地分析了Linux内存管理子系统中的主要管理机制,包括:内存分配和回收机制、地址映射机制、缓存和刷新机制、请页机制、交换机制和地址空间保护机制,并重点分析了其中体系结构相关的内容和技术。 2、通过对比分析其他主流体系结构的内存管理子系统设计方案,根据系统需求并结合UniCore-3处理器的结构特征和硬件支持,设计与实现了UniCore64内存管理子系统的主要功能,包括物理内存管理、内核虚拟内存管理、用户空间内存管理;确定并实现了内核从启动阶段开始,到用户进程加载过程中的各个阶段内核采用的内存管理方式和物理地址空间布局;完成了UniCore64地址空间划分方案,并根据硬件设计特性,将内核的虚拟内存空间和I/O地址空间映射到物理内存空间,同时实现了内存保护机制。 3、通过内核提供的测试方法和LTP中的部分测试集对UniCore64内存管理子系统进行了功能测试。并分别利用UniCore-3处理器的QEMU全系统模拟器和FPGA快速原型系统,对设计开发的Linux内存管理子系统的功能正确性进行了验证,两种环境下,均可正确启动并运行Linux操作系统。评测结果说明,该子系统可以正确完成内存管理功能,为软件系统的开发和运行提供了必要的保障。