论文部分内容阅读
本文对linux在嵌入式系统中的运用机制及快速启动问题进行研究,主要研究内容包括:在深入分析Linux内核源代码的基础之上,从内核中内存管理、进程管理、文件系统、网络管理这些主要方面,通过修改内核源代码,研究Linux内核适用于嵌入式系统的机制。仅有内核并不能构成一个完整的可用的操作系统,还要考虑Shell的大小以及与应用程序运行相关的C库问题,使整个Linux系统能够存放到容量较小的CF卡中。隐藏用于提示系统启动进度的字符信息,在Linux启动的过程中保持一幅开机画面。重新编写Linux系统的启动和退出脚本,实现系统的快速启动和快速退出。 本文首先阐述了对Linux内核源代码修改的研究,Linux操作系统本身的某些特征不能满足嵌入式系统的要求,必须对这些特征进行修改。论文主要从内存管理、进程管理、文件系统、网络管理方面对内核代码进行分析并做了修改。在内存管理部分,本文提出了裁减内核以屏蔽页面交换机制的方法和具体实现。在进程管理部分,针对互斥信号量机制的不足,本文对信号量等待队列进行了优化,并解决了优先级倒转问题。在文件系统部分,主要工作是屏蔽特殊文件系统shm,以配合内存管理部分的修改。在网络管理部分,为减小TCP/IP协议栈大小,本文采用了瑞典计算机科学协会下的计算机与网络结构实验室开发的1wip。 系统小型化是linux应用于嵌入式系统的基本工作。要将Linux用于嵌入式系统就得对其定制,使得整个Linux系统能够存放到容量较小的CF卡中。一个典型的Linux系统包括3个主要的软件层:Linux内核、C库和shell及应用程序。本文主要从内核修改、内核配置、嵌入式C库、嵌入式shell等方面对系统小型化进行研究。 在默认的情况下,Linux在启动时,会在显示器上显示出一行一行的字符用于提示目前系统启动的进度,这对于用户来说是不必要的,本文取而代之的方法是在Linux启动的过程中保持一幅自定义的开机画面。 标准Linux系统从硬件加电启动到字符登录界面的出现,以及从执行关机操作到机器掉电,都会花费数分钟的时间,这对于嵌入式产品的用户来讲是无法忍受的。本文对系统的启动全过程进行了深入分析,并提出了实现系统快速启动和快速退出的方法。