预览加载中,请您耐心等待几秒...
1/4
2/4
3/4
4/4

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

May.2010中国民航飞行学院学报 56Vol.21No.3JournalofCivilAviationFlightUniversityofChina59 Linux操作系统内核裁剪的分析 黄义文 (广州民航职业技术学院招生办公室广东广州510403) 摘要:通过对Linux操作系统进行裁剪,使嵌入式系统和Linux操作系统有机结合 起来,成为嵌入式Linux操作系统。本文对操作系统裁剪的目的和裁剪的重要环节进行了描 述,并描述了具体实现内核配置与编译的过程。操作系统裁剪是嵌入式系统开发的重要环节。 关键词:Linux内核裁剪交叉编译 Linux操作系统内核具备源代码开放、稳定性1.如何定制操作系统 高、可修改性强、支持多种体系结构、具有非常目前市场上的操作系统有很多,选择操作系 好的网络性能、丰富的开发工具等优点,使得它统时首先考虑操作系统内核类型的选择及内核版 适合于嵌入式开发和应用。嵌入式linux是将本的选择这两个因素。大多数的商业操作系统, Linux操作系统进行裁剪修改,使之能在嵌入如Windows、WindowsCE对每套操作系统收取一 式系统上运行的操作系统。目前嵌入式Linux定的许可证费用,相对的,源码开放的操作系统 操作系统在移动电话、个人数字助理(PDA)、媒体只要不违反GPL协议,就可以自由使用。为了节 播放器、工业控制以及航空航天等领域有着广泛省开资,操作系统内核类型应选择源码开放的操 的应用。Linux操作系统内核的裁剪是嵌入式系统作系统。其次选取的操作系统还要有高的稳定 开发的重要环节,对嵌入式系统的开发具有重要意性、好的网络功能、丰富的开发工具、良好的模 义。块结构,易于进行裁剪等特性。目前Linux操作系 一、操作系统裁剪概述统具有较强的优势。当确定了内核类型后,针对 大部分操作系统都不是专为嵌入式系统设计此类型操作系统有很多版本,这些版本性能、功 的,应用于嵌入式环境时需要对操作系统进行改能都不一样。以Linux操作系统为例,Linux2.0是 造,改造的目的是一方面简化已有操作系统的功第一个支持SMP体系的内核版本;Linux2.2极大地 能与结构,以满足嵌入式系统对体积的要求;另提升了SMP系统性能,同时支持更多的硬件; 一方面是开发它的实时性能。对标准的操作系统Linux2.4进一步提升了SMP的扩展性,同时集成了 裁剪就是将功能齐全的源代码,派生出适合于具很多用于支持桌面系统的特性,如即插即用支 体软硬件平台、功能减少(针对某种应用)、体持;Linux2.6与以前系统相比有了很大改进,特别 系结构更紧凑、规模更精简的代码过程。具体需是在超线程、内核互动性和响应性方面。在选择 要裁剪的功能对象主要是:引导及初始化程序、内核版本时,是不是版本越高越好?不是,应根 操作系统的内核、设备驱动程序等。其一般操作据不同的需要选择,有时,高版本的内核,造成 过程是:获取某一款的操作系统内核源码,根据资源浪费,甚至性能变低。例如,在简单的掌上 我们的具体目标平台对这源码进行配置,去掉内设备中使用Linux2.4其性能要优于使用Linux2.6。 核多余的模块,编写引导程序及添加一些外设的2.裁剪配置内核基本原则 驱动程序,打造成适合于目标平台的新操作系对选定的内核进行裁剪、配置要遵循的原则 统,对该系统进行交叉编译和链接,然后生成一是:首先是小型化,即将标准的操作系统裁剪得 个内核映象文件,最后把该映象文件安装到目标尽可能小,以满足许多嵌入式系统对体积的要 平台中。裁剪过程中的重要环节如下。求;其次是适当功能,标准的操作系统很多功能 May.2010中国民航飞行学院学报 Vol.21No.3JournalofCivilAviationFlightUniversityofChina57 在某一具体应用中是多余的,裁剪时只需保留对入内核,也可以卸载释放所占有的资源。这样的 嵌入式系统应用程序提供对应的系统支持的功设计方式可以灵活、动态地分配内核空间资源, 能;最后是完整性和可靠性,裁剪后的操作系统更有利于内核的裁剪。 在结构和功能上要具有完整性和可靠性。Linux内核主要由5个子系统组成,这5个子系 3.编译安装内核统是相互依赖的关系,如图1所示。进程调度是控 编译及安装操作系统内核和应用程序的方式制进程对CPU的访问,使各进程能公平合理地访 一般是:在宿主机(开发系统的计算机)建立开问CPU,同时保证内核能及时执行硬件操作;内 发环境,进行操作系统内核配置、应用程序编码存管理采用页式存储管理机制,Linux根据不同的 和交叉编译,然后在宿主机和目标机(待开发的硬件结构,采用不同的内存组织形式,确保每种 嵌入式系统)之间建立连接,将操作系统内核及硬件体系的所有进程安全共享机器内存。内存管