用户名: 密码: 验证码:
基于应用程序的嵌入式Linux内核自动裁剪
详细信息    本馆镜像全文|  推荐本文 |  |   获取CNKI官网全文
摘要
嵌入式操作系统作为嵌入式系统的核心组成部分,必须满足嵌入式系统资源有限、面向特定应用、专用硬件和与应用软件密切相关等重要特征。但是,每个嵌入式系统在功能、处理器性能、成本、体积、规模、实时性等各个方面的要求都不相同,因此研究与开发一个嵌入式实时操作系统来满足嵌入式系统多样性要求具有很重要的理论和现实价值,而嵌入式操作系统的可定制剪裁的研究对满足嵌入式系统的多样性要求同样具有重要的理论和实用价值。
     而目前对Linux操作系统内核的剪裁配置方法大都是在源代码基础上,通过配置工具生成配置文件,然后根据配置文件条件编译生成目标系统内核。但这种方法裁剪的定制能力有限,工具集成度不高,需要通过命令干预,其配置方案、编译过程复杂且需手动完成。因此开发一种高可定制的,能够根据应用程序自动裁剪Linux内核的方法有较高的理论和实践意义。
     针对以上情况,本文对Linux内核实时性能进行改进,并实现了一种高可定制的、基于应用程序的嵌入式Linux内核自动裁剪,以下是本文实现嵌入式Linux实时内核自动裁剪所完成的工作步骤及内容:
     1)分析Linux应用于嵌入式实时系统的优势、不足,以及嵌入式Linux实时性增强的方法,在此基础上,提出了基于Linux构建一个的嵌入式实时操作系统的方案;
     2)对Linux内核进行细粒度的可定制裁剪,接着主要分析阐述了嵌入式Linux文件系统及网络功能部分,并对文件系统和网络功能部分进行细粒度的裁剪划分,为自动裁剪做好准备;
     3)对Linux内核原有剪裁机制的进行了分析,总结了基于源代码的Linux内核裁剪技术,引入基于应用程序的嵌入式Linux内核自动裁剪方法,根据应用程序调用的函数集合,自动选择需要的功能内核模块,然后自动修改内核.config文件和autoconf.h文件,提供给内核编译使用,实现可视化的Linux内核自动裁剪。最后,针对嵌入式Linux自动裁剪方法,进行了实例验证与分析,并对Linux在嵌入式内核自动裁剪,需要解决一些问题和进一步提高自动裁剪的定制能力提出了自己的建议。
Embedded operating system is the core of embedded system, and must meet the important character such as system finite resources、the correlation between own hardware and application software、low cost、the character of real-time、the feasibility of tailoring etc. So doing some research and development in the tailoring of Linux kernel has some theory and practice meaning.
     In the thesis, firstly, it analyzed the characters of embedded operating system and Linux operating system and expatiated several open-source OS .By doing that it summarized that because of the merit of Linux kernel, the Linux is being an inevitable trend in embedded system.
     In succession, it analyzed the Linux kernel from the follow the aspects:
     ⅰThe development of embedded real-time operating system has become a hot-subject in recent years. The approach based on Linux has its proper advantages and disadvantages. How to enhance the real-time performance of Linux is one of the key problems that should be resoled.
     ⅱThe tailoring of Linux kernel mechanism has some defects, such as the inadequate granularity. It has do some fine granularity tailoring of Linux kernel.
     ⅲThe design of Embedded System Linux evolves steadily and fast. After analyzing the traditional Linux file system and some popular embedded file system, this paper presents a schema of Embedded Linux File System. Since the storage capacity of embedded device is quite limited, it simplified the VFS and the physical file system so that this Embedded Linux File System can adapt to the embedded device better.
     ⅳWith the combination of embedded systems and network technologies, bringing TCP/IP protocol stack into embedded systems to connect embedded systems with Internet has become an important research direction in embedded fields.
     In the end, by analyzing Linux kernel tailoring mechanism, it summarized the source-code based tailoring method. For improving the shortcomings of this method, it propounded an enhanced scheme which tailors the Linux kernel automatically based on the application.
     According to this scheme, it have do some experiments and give some advice of how to enhance the automatically tailoring of Linux kernel.
引文
[1]. Dejan Milojicic. "Embedded Systems". IEEE Concurrency. October-December 2000
    [2]. 毛德操,胡希明.Linux 内核源代码情景分析(上册[M].杭州:浙江大学出版社, 2002,5(1):66~68
    [3]. Herman Bruyninckx. “ Real_Time and Embedded Guide ”, K.U.Leuven , Mechanical Engineering 2000
    [4]. 王勇,潘清,付长冬. 如何实现 Linux 操作系统的定制[J] 2000 第 2 期:55-57
    [5]. Michael Barr .“Programming Embedded Systems”. O'Reilly January 1999
    [6]. Dejan Milojicic. "Embedded Systems". IEEE Concurrency. October-December 2000
    [7]. C.M.Krishna,Kang G.Shin 著 戴海琼译. 实时系统 清华大学出版社 2004.9
    [8]. 金西.Linux 小型化技术[J].计算机工程,2001,27 (1):3-4
    [9]. Andrews Tanenbaum.操作系统设计与实现[M].北京:清华大学出版社,1997
    [10]. Stephen Figgins, Ellen Siever, Aaron Weber.“Linux in a Nutshell 4th Edition”. O'Reilly June 2003
    [11]. 胡晓明,王强.Linux 核心源代码分析[M].北京:人民邮电出版社,2000
    [12]. Rick Lehrbaum. “ Using Linux in Embeded and Real_time Systems ”,http://www.linuxdevices.com/
    [13]. 刘云新,张尧学.一个基于 Linux 的嵌入式实时操作系统[J].计算机工程与应用,2001,037(7) 64~66
    [14]. 陈莉君.深人分析 Linux 内核源代码.北京:人民邮电出版社.
    [15]. 袁静波.Linux 虚拟内存管理分析[J].开放系统世界,2002,(6):57~59
    [16]. 梁祖华,魏泽国. 实现 Linux 系统小型化的几种方法[J] 河南科技大学学报(自然科学版) 2005 26(1)
    [17]. 周 云,徐佩霞.实时操作系统中的延迟调度[J] 计算机应用 2003 年 6 月第 23 卷
    [18]. 朱响斌,涂时亮. Linux 的实时性能测试[J] 微电子学与计算机 2004 年第 21 卷第 11 期
    [19]. 朱响斌,涂时亮. Linux 的实时性能测试[J] 微电子学与计算机 2004 年第 21 卷第 11 期
    [20]. Robert Love著. 陈莉君(译). Linux内核设计与实现 机械工业出版社 2004
    [21]. Karim Yaghmour.“Building Embedded Linux Systems” O'Reilly April 2003
    [22]. 白衡.嵌入式操作系统裁剪技术的研究.[学位论文] 保存单位:西北工业大学 2002
    [23]. 田中营,韩建海,马志荣.uCLinux 源代码中 Make 文件完全解析—基于 ARM 开发平台[M] 机 械工业出版社 2005.7 全书
    [24]. 李长河.一种小型嵌入式 TCP/IP 协议栈的设计与实现[J],微电子学与计算机,2003,4(6): 1-5
    [25]. 刘章仪.Linux 文件系统分析[J].贵州工业大学学报 自然科学版,2002,31(4):135~137
    [26]. 杨益,郭庆平.Linux 虚拟文件系统实现技术剖析[J].交通与计算机,2001,19(101):46~49
    [27]. Cliff Brake, Jeff Sutherland.“Flash Filesystems for Embedded Linux Systems", http://www.linuxjoumal.com/
    [28]. 王姝阳,庞丽萍,李胜利. Linux 系统调用的实现技术[J] 小型微型计算机系统 20(12)
    [29]. 王新彭. Linux 系统调用分析[J] 太原师范学院学报(自然科学版) 2(4)
    [30]. 史治国.嵌入式 Internet 中 TCP 协议的实现[J],计算机工程与应用,2001, 8(6):1-4
    [31]. Richard S 著,范建华等译.TCP/IP 详解,卷 I:协议[M],北京:机械工业出版社,Addison-Wesley, 2001 年 6 月,170 一 267
    [32]. 王峰.嵌入式 Internet 技术及其实现方案[J],微计算机信息,2003 13(19): 1-3
    [33]. Michael Elizabeth Chastain. "Linux Kernel Config Language Specification".18October 1999
    [34]. 朱剑.基于扩展调用图的软件开发集成环境[学位论文] 保存单位:成都理工大学 2002
    [35]. 朱晓瑾,侯文永. 识别库函数的特征点匹配法[J] 1994 第 28 期增刊
    [36]. http://www.linuxforum.net/ Makefile解读
    [37]. 基于 Linux 的 OS 实验系统[学位论文] 保存单位:西南交通大学 2003 年 4

© 2004-2018 中国地质图书馆版权所有 京ICP备05064691号 京公网安备11010802017129号

地址:北京市海淀区学院路29号 邮编:100083

电话:办公室:(+86 10)66554848;文献借阅、咨询服务、科技查新:66554700