- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Linux 操作系统内核配置与裁剪研究.doc
Linux 操作系统内核配置与裁剪研究
摘 要:作为开放源码的自由操作系统,Linux系统的应用也日益广泛。本文将从Linux系统的内核结构展开论述,并从配置与裁剪方法上实现对嵌入式系统设计的目标,并就裁剪的目的及具体的系统编译过程进行描述,以彰显Linux操作系统的开放性、稳定性、可修改性等优势。
关键词:Linux 内核 裁剪 交叉编译
Linux系统内核具有非常好的网络适应性和开发自由度,并在嵌入式系统应用中更加深入和广泛。嵌入式Linux系统是对于原Linux操作系统裁剪后的系统,目前常用在媒体播放、移动电话及工业控制等领域。作为对Linux操作系统内核的裁剪,往往是嵌入式系统开发的关键,为此,本文将从Linux系统内核结构着手,就其裁剪原则及编译方法进行阐述,以实现对嵌入式Linux操作系统的优化。
一、Linux系统裁剪研究
从操作系统的应用来看,大部分操作系统都是不支持嵌入式设计,而面对不同领域的具体应用及环境配置需要,改造操作系统以适应软件功能的开发,往往是当前操作系统裁剪的常见应用。对于Linux操作系统来说,其自由开发的源码内核,能够结合特定功能需要来适当裁剪其体积要求,由此带来的软硬件平台及功能的减少,使其规模更加紧凑,代码运行更加精简。对操作系统进行裁剪,需要遵循一般流程:首先获取原操作系统的内核源码,并从具体应用中对源码进行适当的环境配置,对多余的或不用的模块给予摈除,对于特殊的功能需求需要从程序代码的编写上来增加相应驱动程序,以构建其适应于目标平台的新操作系统。对于操作系统的裁剪是整个系统改造的关键环节,也是与整个系统进行交叉编译和稳定链接的重要步骤。对操作系统进行定制,首先需要分析操作系统的内核及版本特点,对于商业化的操作系统,如Windows需要收取软件许可证费用,而对于源码开放的操作系统则可以自由使用。当前Linux操作系统支持内核修改,并且其稳定的性能,丰富的开发工具及模块结构,更易于裁剪嵌入式环境。因此在应用中多以Linux为对象来进行裁剪。作为Linux操作系统,在进行裁剪时需要遵循一定的原则:一是小型化,即对嵌入式系统来说以最小的体积为宜;二是功能适当化,从应用上以满足需求为主,对于多余的应用只需要保留对应的系统支持即可;三是系统结构的稳定性及可靠性,对于裁剪后的操作系统应该满足功能及结构的可靠性和完整性。操作系统的编译及安装是最后阶段,通常在宿主机上构建环境,并从操作系统内核及应用程序的调试上来满足宿主机与目标机的有效连接。如以串口、OCD方式进行连接等。
二、Linux操作系统的内核特点及结构模块
作为稳定性、可修改性较强的Linux内核结构,在进行内核访问时只需通过调试来保障操作系统的基本功能。在Linux系统中,通过模块机制来启动所需要的内核模块,如设备驱动程序、文字子系统等,并可以在动态加载及卸载上确保对系统内核空间资源的有效利用。从结构上来看,Linux系统内核分为五部分,这些子系统在进程调度下实现对CPU的访问,以满足内核各子系统的有序执行。对于内存管理来说,以页式存储机制为主,并结合硬件结构来灵活分配内存组织方式,确保各硬件对系统资源的共享与合理利用;同时,内存管理还支持虚拟内存管理,使得Linux进程拥有更多的内存容量;在逻辑文件系统中,Linux支撑硬件控制器对相关设备的驱动,从而实现对外部设备的有效驱动和管理;进程间通信主要是满足进程的信息交换;网络接口系统以网络协议和网络驱动为主,提供对网络通信服务的支持。源码是Linux系统开发的基础,在Linux系统内核分析上,其源码主要包括以下内容:/arch主要包括与当前处理器的体现结构相关的源代码,如ARM、PowerPC、I386等,另外还包括boot、lib、math-emu等目录,以满足系统裁剪的需要;/init主要包含系统初始化源码,如main.c和version.c等文件;/block主要包含相关的驱动代码;/fs主要包含Linux系统所支持的文件系统;/inchude主要包含系统编译时需要的头文件,如.h文件;/mm主要包含与体系结构无关的内存管理源码;/kemel主要包含内核文件,如进程调度kerel/sched.c,创建进程kernel/fork.c,撤销进程源码kernel/exit.c等;/scripts主要包含系统配置源码,如make menuconfig等配置内核指令源码。
三、对Linux系统内核进行配置与裁剪
Linux系统在内核裁剪上主要有两种方法:一是通过配置工具来实现对配置文件.config和autoconf.h的修改,而对原内核代码不修改;二是直接对配置信息保存到.config和autoconf.h两个配置文件中,编译后自
文档评论(0)