论文部分内容阅读
嵌入式系统广泛采用Linux作为操作系统,它们大多数直接由标准的Linux移植过来,其内核的存储管理子系统对嵌入式系统硬件平台的可剪裁性支持有限,特别是没有专门针对众多无硬盘典型的嵌入式系统进行优化,这种Linux操作系统目前采用的一个方法就是去除与硬盘相关的交换区功能,而同时Linux内核还保留了原有的虚存管理模块,这样就会影响嵌入式系统的性能:另一个方法是在RAM中划分一块区域模拟硬盘交换区,这样只是保存了功能的兼容性,而却减低了系统的性能和内存的使用效率。
本课题从分析Linux内核源代码着手,从源代码级对Linux内核中物理内存管理和虚拟内存管理进行分析研究,重点研究分析了Linux内核中与硬盘相关的交换区管理模块和共享内存区管理模块,并针对无硬盘的32位ARM嵌入式平台对标准的Linux内核中关于硬盘交换区管理和共享内存区管理部分的源代码进行裁剪优化,将原来页面换出和换入过程中页面交换改进为直接修改页面的状态,使得页面直接由非活动状态转变为活动状态,避免使用RAM交换区频繁的页面拷贝和交换,浪费时间和空间。同时保留了Linux内核中虚存管理模块,从而保证其兼容性,使得新的系统可以更加稳定地运行在无硬盘的嵌入式硬件平台上,并且通过按功能模块重构程序模块的方法对改进部分的代码进行优化,从而增强其可剪裁性。最后,将优化后的Linux内核在一种典型的ARM嵌入式平台XSbase255实现运行测试,并设计相应的测试程序分别对裁剪优化前后的两个内核进行测试,从而验证新的内核在存储空间和运行时间上都较旧的系统有更大的优化。