摘要:嵌入式系统的应用与开发是当今计算机行业的一个热点。作为最主要的开放源码软件之一,Linux因具有内核源码公开、性能稳定、兼容UNIX、支持多种处理器、网络功能强、安全性高、内核可以剪裁等一系列优点,在嵌入式领域得到广泛的应用。本文以Linux内核源代码为基础,分析了进程调度策略、中断处理机制、系统调用、文件系统等Linux的内核机制。详细分析Linux在嵌入式应用中实时性不强的原因以及基于Linux2.6内核进行实时开发的优点。本文对内核的进程调度和中断系统进行了实时性优化,在分析常见的实时调度算法的基础上提出了改进的最小空闲时间优先算法,减轻了原有算法所产生的颠簸现象。并且分析了标准Linux的中断机制及其在满足实时性方面的不足之处,针对其不足提出了中断线程化的改进方法。在内核实时性改造的基础上,本文还优化了Linux的内核裁剪机制,对Linux内核进行细粒度的可定制裁剪。并且对Linux内核原有剪裁机制的进行了分析,总结了基于源代码的Linux内核裁剪技术,引入基于应用程序的嵌入式Linux内核自动裁剪方法,根据应用程序调用的函数集合,自动选择需要的功能内核模块,提供给内核编译使用,实现可视化的Linux内核自动裁剪,使之能够更好的适应嵌入式设备。
关键词:嵌入式操作系统; Linux内核; 实时性; 自动裁剪;