




已阅读5页,还剩60页未读, 继续免费阅读
【毕业学位论文】嵌入式操作系统裁剪技术研究-计算机系统结构.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
西安电子科技大学硕士学位论文嵌入式操作系统裁剪技术研究姓名:王珠珠申请学位级别:硕士专业:计算机系统结构指导教师:高有行20070101摘 要摘 要本文以提高绘图机数据传输率为目的,通过裁剪普通终获得绘图机需要的嵌入式操作系统。本文首先介绍了嵌入式操作系统和嵌入式后详细介绍了目前流行的一些嵌入式对各种方法的优缺点进行分析,从而得出适合本文研究应用的裁剪方法皿al(e 文从提高绘图机数据传输率出发,实质上就是要提高统的分析了一个普通代码目录树、内核编译与启动过程,得出影响系统进程调度效率的两个关键点:普通的分时进程调度策略和虚拟内存管理机制。接着就内核中与这两个关键点密切相关的主要子系统,如进程管理和内存管理子系统的内核源代码进行了详细分析。本文在源代码分析的基础上提出了一种基于固定优先级的可抢占式进程调度策略和剔除虚拟内存管理机制的裁剪方案,并采用选定的内核裁剪方法:进行内核配置、去除多余的内核守护进程、修改源代码等,对普通文给出了裁剪过程中的具体配置选项和修改的主要源代码,如进程调度函数存映射函数后对实验环境:410目标机,进行了说明。在实验平台上验证本文内核裁剪的有效性。本文详细分析了L内核源代码。通过实验证明,裁剪后的数据输出进程的调度执行时间较裁剪前的调度执行时间缩短了15。关键字:嵌入式L内核裁剪进程调度虚拟内存管理源代码分析to f 血ux me of of a of he is n】五P:11or of is to of“a of f of wo of p“of e on of a 丘of in he is as fI】do in we t0 efof is he of is 5 创新性)声明秉承学校严谨的学风和优良的科学道德,本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研究成果。尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外,论文中不包含其他人已经发表或撰写过的研究成果;也不包含为获得西安电子科技大学或其它教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中做了明确的说明并表示了谢意。申请学位论文与资料若有不实之处,本人承担一切的法律责任。西安电子科技大学关于论文使用授权的说明本人完全了解西安电子科技大学有关保留和使用学位论文的规定,即:研究生在校攻读学位期间论文工作的知识产权单位属西安电子科技大学。学校有权保留送交论文的复印件,允许查阅和借阅论文;学校可以公布论文的全部或部分内容,可以允许采用影印、缩印或其它复制手段保存论文。同时本人保证,毕业后结合学位论文研究课题再攥写的文章一律署名单位为西安电子科技大学。(保密的论文在解密后遵守此规定)本学位论文属于保密,在一年解密后适用本授权书。本人签名:导师签名:圣鱼鱼 日期丝2 1:11嵌入式操作系统随着电子技术的不断创新和发展,嵌入式系统作为计算机应用的一个重要领域,已深入到社会的方方面面,越来越为人们所关注。嵌入式系统11计算机技术为基础,软硬件可裁剪,适用于对功能、可靠性、成本、体积、功耗有严格要求的专用计算机的系统。和通用的计算机平台相比,嵌入式系统往往具有功能单一、可移植、体积小、功耗低、实时性强、可靠性高、剪裁性好、软硬件集成度高、计算能力相对较低等特点。嵌入式系统出现于60年代晚期,它最初被用于控制机电设备和电话交换机,如今己被广泛的应用于工业制造、过程控制、通讯、仪器、仪表、汽车、船舶、航空、航天、军事装备、消费类产品等众多领域。嵌入式系统在数量上远远超过了各种通用计算机系统:计算机系统的核心年在全球范围内的产量大约在二十亿片左右,其中超过80应用于各类专用性很强的嵌入式系统。在嵌入式系统发展的初期,其应用相对简单,不需要操作系统;其硬件资源也相对有限,不足以支持一个操作系统。那时的嵌入式设备中没有操作系统,嵌入式软件由专门配套的汇编语言甚至机器语言编写,功能主要体现在一些控制流程上,它们直接面向应用,直接基于系统硬件开发,专用性很强,使得在开发新的嵌入式系统时,已存在的嵌入式软、硬件资源很少能够被复用,造成巨大的资源浪费和重复劳动。随着硬件的发展,嵌入式系统变得越来越复杂,最初的控制程序中逐渐加入了许多功能,而这些功能中有很多可以由操作系统12是,在70年代末期出现了嵌入式操作系统,它的出现大大简化了应用程序地设计,并可以有效地保障软件质量和缩短开发周期。嵌入式操作系统【3】是安装于专用系统或设备中、具有通用操作系统的基本功能、执行计算和数据处理功能的操作系统。与通用操作系统相比,嵌入式操作系统具有配置专一。结构紧凑、坚固可靠等特点。近年来,嵌入式操作系统得到了飞速的发展,从仅支持单一品种的微处理器到支持多品种的微处理器;从仅包含任务调度、内存管理、进程间通讯等基本功能到不仅提供可以与通用操作系统相比的普通功能外,还提供其他如文件系统、,口网络协议、窗口系统等特殊功能。目前,主流的嵌入式操作系统有s,入式操作系统裁剪技术研究发展起来的嵌入式工中,场占有率最高。其突出特点是实时性强(采用优先级抢占和轮转调度等机制1。除此之外,其可靠性和可剪裁性也相当不错。扩展的操作系统。它具有微内核结构,用户可根据需要选择其中一些组件来定制操作系统。其核心加上实时环境和一个完整的窗口系统还不到1比之下,时性能也不是很好,但由于捆绑、Of!逐渐获得更大的市场份额。嵌入式指对普通够固化在容量只有几百用于特定嵌入式场合的专用着半导体工业的飞速发展,加上嵌入式应用的多样化需求,要求嵌入式系统具有合理的体系结构和良好的可用性、可伸缩性、易于移植等特点。嵌入式系统的多样化特征,使得对操作系统进行面向应用的定制比通用系统更为必要。因此,研究嵌入式操作系统裁剪定制技术,提高操作系统裁剪的效率就显得非常必要。12嵌入式“1 前世界上有四十多家公司的两百余种嵌入式操作系统。这些市场上众多的商业性嵌入式操作系统都在努力地为自己争取更多的嵌入式市场份额。然而,它们不仅价格昂贵、源代码不公开,使得每个系统上的应用软件与其它系统都无法兼容;而且有的还占用过多系统资源,不适合应用于系统资源相对紧缺的某些嵌入式系统中。此外,各公司的这种封闭性还导致了商业嵌入式操作系统在对各种设备的支持方面存在很大的问题,使得对它们的软件移植变得很困难。比方说,利用系列的防火墙协议以及号协议等,不是自己开发就是要买公开源代码的),造成成本居高难下。理想的嵌入式操作系统一方面需要有基于最新硬件的、成熟的、强大的、无时间限制的操作系统支持,如一方面,需要高可靠性传续运行、非交互性操作的)、可裁剪的操作系统以适应应用系统的特定需要。第一章绪论富的设备支持、更高的可靠性、健壮性以及丰富的文档。最明显的优势是可免费获得需要占用大量的系统资源。它具有模块化的特性,能很容易地被裁剪成紧缩配置,裁剪后的装在一张软盘里面。由于用户裁剪入式中低端的嵌入式网络设备中的应用,比起发嵌入式产品上市时间到产品系列化,除开发人员以外所需的其他投入均较少。由于嵌入式系统越来越追求数字化、网络化和智能化,因此,原来在某些设备或领域中占主导地位的操作系统越来越难以为继。因为要达到上述要求,整个系统必须是开放的并提供标准的且能够方便地与众多第三方的软硬件沟通。综上所述,“存在黑箱技术,遍布全球众多的放源代码意味着对新设计、制造的嵌入式芯片的快速支持。嵌入式系统的应用领域通常要求系统高度个性化、高度细分,因此,对新芯片的快速支持是一个好的适合推广的嵌入式操作系统必须具备的能力。目前几乎没有哪一种系统比开放源代码的些工具为嵌入式系统的开发提供了良好的开发环境。大量的免费工具和网上资源可以利用,节省了用户的开发投入,也缩短了产品的研发周期;3L活的模块化定制方式,保证更快速地定制出符合客户需求的嵌入式系统。个性化的市场需求、个性化的设计,前同样的是200加能强大,运行稳定,系统健壮,效率高。括虚拟内存和所有核心的操作系统功能在内,只需占用内存。只要有500个有网络栈和基本实用程序的86微处理器上运行。可以支持其它数十种【系统稳定可靠、性能优异是嵌入式产品必不可少的品质之一;7的发展方式,遵循国际标准,可以方便地获得第三方软硬件厂商的支持;8“肌本一直是开拓市场的重要因素,嵌入式L入式操作系统裁剪技术研究继承了这一优点,继续向嵌入式领域的用户提供价廉物美的操作系统;9提供了对十兆、百兆、千兆以太网,无线网络,令牌网,光纤网以及卫星等多种联网方式的全面支持。强大的网络功能是嵌入式系统的未来发展方向,而络之子”,正是伴随着网络一步步发展起来的,其完善的网络功能是其它操作系统所不能比拟的。此外,在图像处理、文件管理及多任务支持等诸多方面,【血此它不仅可以充当嵌入式系统的开发平台,其本身也是嵌入式系统开发的好工具。正因为L岫得嵌入式领域中得到了飞速发展。122常见的嵌入式Li节中介绍了嵌入式操作系统。随着L_逐渐具有了作为嵌入式操作系统的许多得天独厚的优势。嵌入式面是常见的嵌入式uM:基于的嵌入式S,可以轻松扩充,以适应用户的各种需求。2为无存储器管理单元(:前主要运行在c(对大量硬件进行广泛支持,并以其先进的任务调度策略发挥其优异的实时性能。5行在386上的微小内核。7n A 运行在386上。8夸克(0:网虎公司的基于称世界上最小的嵌入式向数字相机、0红旗嵌入式:国内中科红旗公司开发的嵌入式管已有的嵌入式还是满足不了某些特定应用环境的需求。如何对现有的31为什么要裁剪“ 内核需要具有对硬件平台的广泛支持能力,往往包括了繁多的功能模块,这些不必要的功能模块不仅会占有系统的存储资源,而且会影响系统对事件的响应速度和执行速度,因此有必要对原有的系统进行压缩,删除不必要的模块。而嵌入式系统是针对具体应用的专用系统,在设计时其硬件平台和软件设计的目标已经非常明确,且不会轻易变动,所以可以很好地根强软硬件的实际情况对内核进行定制。对达到的目的主要集中于下列几个方面:1提高实时性:由于普通Lj用分时调度策略,设计目标是尽量提高系统的整体吞吐率,而不重视系统的实时性,因此嵌入式环境往往对高是对加对特殊硬件的支持:嵌入式环境往往使用一些特殊的硬件,为了使嵌入式需要对其进行裁剪和定制。3分解前在要集中于研究具体的裁剪实现算法和裁剪实现技术,如何分离出据具体的应用,实现对各个可裁剪部分的定制,这方面的研究刚刚开始。要想得到一个较小的以通过选用专门针对嵌入式应用的过,即使是这种情况,它也可能包含了你的系统并不需要的功能。因此,最好的办法还是针对自己的系统平台的硬件特性和所需要的软件功能来确定内核需要哪些模块的支持,通过裁剪,去除掉内核不需要的模块,对内核进行精雕细凿。132 进行裁剪的可行性如下所述:1可能是单内核(后者有时称之为宏内核6 嵌入式操作系统裁剪技术研究微内核(,大部分内核都作为独立的进程在特权状态下运行,它们通过消息传递进行通信。在典型情况下,每个概念模块都有一个进程。因此,如果在设计中有一个系统调用模块,那么就必然有一个相应的进程来接收系统调用,并和能够执行系统调用的其它进程(或模块)通信以完成所需的任务。在这些设计中,微内核部分经常只不过是一个消息转发站:当系统调用模块要给文件系统模块发送消息时,消息直接通过内核转发。这种方式有助于实现模块间的隔离(某些时候,模块也可以直接给其它模块传递消息。)。在一些微内核的设计中,更多的功能,如等,也都被封装在内核中了。但是最根本的思想还是要保持微内核尽量小,这样只需要把微内核移植到新的平台上。其它模块都只依赖于微内核或其它模块,并不直接依赖硬件。微内核设计的一个优点是在不影响系统其它部分的情况下,可以更高效、更容易地替代现有的系统模块。我们甚至可以在系统运行时将开发出的新系统模块或者其它任何需要替换的模块直接而迅速地加入系统。另外的一个优点是系统不需要的模块将不会被加载到内存中,因此微内核就可以更有效的利用内存。单内核(一个很大的进程。它的内部又可以被分为若干模块(可以是层次型或无序型)。但是在运行的时候,它是一个独立的二进制映象。其模块间的通信是通过直接调用其它模块中的函数实现的,而不是消息传递。单内核的支持者声称微内核的消息传递开销引起了效率的损失。微内核的支持者则认为因此而增加的内核设计的灵活性和可维护性可以弥补任何损失。过把内核以单一的方式进行组织并在最初始的空间中运行是相当容易的事情。这种决策避免了有关消息传递体系结构,计算模块装载方式等方面的相关工作,所以,外,从的发展过程来看,没有深受市场压力的发行进度的限制,所有的限制只有并不过分的对内核的修改与扩充。内核的单一设计在内部实现了充分的模块化,在这种条件下的修改或增加都并不怎么困难。证更快速地定制出符合客户需求的嵌入式系统。2U深受众多电脑爱好者喜爱的最主要原因。也正因为其公开源代码,使得对其在更低层面的裁剪成为可能。3内核重编译命令通过重编译命令生成新的内核映像。引导新内核启动运行,即可得到新一章绪论 7入内核解压缩后生成本号)目录下才能进行。要步骤如下:(1)e 理环境;(2)e e 置核心;(3)e 置附属文件依赖关系(此命令在版本编译时不需要);(4)e 除旧内核文件;(5)e 译核心;(6)译系统模块,装系统模块;(7)e 新内核启动此时,一个全新的33 【内核主要裁剪方法嵌入式使用自身的配置工具,编译定制内核。核有许多可以独立增加删除的功能模块可以设置为内核配置选项。嵌入式果在编译的时候把这些选上,编译出来的内核会很大,编译时应根据系统平台特点和应用需求配置内核,添加需要的功能、删除不必要的功能,这样可以显著减小内核的大小。但这种裁剪方法的缺点是内核裁剪的粒度较大,精度较小。基于自身配置工具编译定制【41,采用以下几种方法是可行且较简单的。(1)定制安装法。在安装时选择需要的软件,选择自定义方式,并且选中每一个具体软件包,就能够详细地裁剪为防火墙定制时经过这样安装占用硬盘空间2502冲然经过以上定制安装可以实现一定的裁剪,但对于特定的应用仍然有许多无用的软件包,此时应再使用看所有的软件包信息。对于无用的包使用命令“件包”卸载(注意有些包因为存在其它包的关系依赖去不掉),最后卸载过这样卸载安装占用硬盘空间约1203)手工删除法。对于一个软件包,有些文件不是系统所必需的,这时要手工删除无用的文件,例如后剩余约50时的系统基本保持系统运行级别、启动方式、用户管理、日志系统和系统必要的服务,等等。现有的电子盘已经可以装下印修改内核源代码进行系统裁剪。通过分析系统平台和应用需求,结合对内嵌入式操作系统裁剪技术研究核代码的理解,在内核源代码的适当位置加入一些条件编译语句,使用于内核源码的方法裁剪粒度更小,裁剪出来的内核体积更小,更适合嵌入式系统的需求。3基于系统调用关系进行内核裁剪。内核是操作系统运行的核心,内核函数在系统调用、异常产生和中断发生时被调用。分析清楚系统调用关系,可将不需要的内核函数裁剪。本文的裁剪用系统配置命令裁掉不需要的大模块,然后再分析系统内函数调用关系,在此基础上对现小粒度的裁剪和定制,最后得到满足应用需求的新内核。14本文主要研究内容及组织结构现有的绘图机工作时会出现因数据传输率达不到要求而在所绘图纸上出现空白的情况。本文针对这种情况,研究如何对普通内核进行裁剪,将裁剪后的操作系统应用到绘图机上,能使绘图机的数据传输率有所提高,不再出现不该有的空白。本文首先介绍了嵌入式操作系统和嵌入式后详细介绍了目前流行的一些嵌入式对各种方法的优缺点进行分析,从而得出适合本文研究应用的裁剪方法如al(e 文从提高绘图机数据传输率,实质上就是要提高u统的分析了一个普通代码目录树、内核编译与启动过程,得出影响系统进程调度效率的两个关键点:普通的分时进程调度策略和虚拟内存管理机制。接着就内核中与这两个关键点密切相关的主要子系统,如进程管理和内存管理子系统的内核源代码进行了详细分析。本文在源代码分析的基础上提出了一种基于固定优先级的可抢占式进程调度策略和剔除虚拟内存管理机制的裁剪方案,并采用选定的内核裁剪方法:进行内核配置、去除多余的内核守护进程、修改源代码等,对普通文给出了裁剪过程中的具体配置选项和修改的主要源代码,如进程调度函数存映射函数后对实验环境:410目标机,进行了说明。在实验平台上验证本文内核裁剪的有效性。本文对内核源代码进行了较清晰、透彻的分析,为今后其他基于文后续内容组织:第二章叙述了几种常用的三章分第一章绪论 9析了614操作系统中与本文裁剪相关的内核源代码,其中主要分析的是四章描述了基于实际应用对【过实现固定优先级可抢占式进程调度策略和剔除虚拟内存管理机制,提高了嵌入式到了实际应用中的提高数据传输率的目的;第五章记录了整个实验的环境、实验过程和实验结果:第六章是通过本文的研究得出的结论和对今后进一步研究工作的展望。第二章条件编译内核裁剪法支持的括86,2,某些如8持的存储设备板卡、外设更是应有尽有。系统中板卡外设之类的驱动程序由于通用字符或块设备接口和动态加载模块技术的应用,根本不会涉及到内核的本质改变。而会极大地影响着内核的设计和代码的细节。当然是靠广泛分布于各处的条件编译设置和一些方便编译的脚本实现的。条件编译内核裁剪主要依靠e 外还有e生时写i在每一个在323节中详细介绍。如何选定适合系统的配置选项是条件编译法裁剪内核的重点,也是难点。条件编译裁剪内核法与后面将要介绍的其他方法相比,最大的优点就是简单。它只需要弄清楚各配置选项的含义和它们之间的关联关系,就可以根据实际需要对内核进行裁剪。然而,仅仅利用这种内核条件编译系统所得到的裁剪率是比较低的。对于un,仅能得到大约200装后核心大约400对于许多嵌入式应用来说并不是一个理想的数字。该内核裁剪方法的缺陷有:1裁剪粒度过大,裁剪的单元是整个功能模块;2在1害了源代码的可读性和可维护性,导致调试和测试的复杂性。条件编译内核裁剪法需与其它内核裁剪方法结合使用。22基于调用图的作系统都是单内核操作系统。些进程通过相互调用来协同完成任务。构是嵌入式操作系统裁剪技术研究不固定的,这与结构固定的典型程序不同。因此,准确预测21:所示,操作系统处于硬件层和应用层之间,对它的裁剪将牵涉到另外两层的一些内容。尽管内核是并不是唯一的组成成分。几乎所有的现代操作系统都是分层结构的,“核是它层如应用程序、库、硬件驱动程序也是可重用的。另外,此,用图就是解决这一难题的方法,因为它能够很好地描绘一个程序的调用结构。调用图的作用是提取进程调用的调用关系。目前,调用图己经应用到软件重规划和软件维护上。我们采用调用图技术来抽象一个L的是构造一个内核调用结构,并且根据具体应用删除不必要的代码。利用调用图来裁剪面就进行详细介绍。1构造应用程序调用图目前,【上运行的应用程序几乎都是用此很容易构造出应用程序的调用图。程序的调用图定义为有向图C=),其中个函数是调用图中的一个顶点;R=(vl,v2)且由此可见,调用图反映了程序的静态结构。举例说明,根据如下所示的一段应用程序代码, d()a();b();c(); )a() e() f();)b() f()d();) )“)d();可以得到如图所示的调用图:第二章“:简单应用程序调用图定义s(且从顶点显然s(v。因此,如果存在一个函数那么该将函数管函数也无法肯定将其移植到嵌入式系统上是安全的,所以最好将其删除。在图22所示的例子中,函数e()和“)是可以删除的2构造共享库调用图L_且通过库调用向操作系统发送服务请求(如图23)。在加函数、数学函数、串函数等这样的库通常占用大量的空间。多数嵌入式是基于软件重构的概念,我们相信有许多可重用的库调用。如果以高效的方式重用它们,就可以缩减开发时间。茎黧嗍一库调用、- :内援调度函致库调用。茎:乡内校函数内核函数内核函数内核函数内核函教图23:非常重要,几乎所有的应用程序都要调用共享库。共享库包含了大量的基本函数供程序使用,如打开文件,在屏幕上打印信息,从使用者得到反馈等等。然而,共享库文件通常有几兆字节大,必须对其进行裁剪,才能满足嵌入式系统的要求。因此,第二步就是要构造库调用图,这个库调用图可以代表库的调用结构,但是它没有根。换句话说,它为应用程序提供了多个入口(如图24)。分析库调用结构的目的是找出哪个库调用可以重用,当然也可以预测出哪个是不必要的库调用。9嵌入式操作系统裁剪技术研究图24:简化的共享厍调用图3构造内核调用图内核是控制并协调所有的指令操作。由于内核的重要性及其庞大的结构,多数嵌入式要是考虑到确保内核的安全执行。因此,仍然有许多不必要的代码保留在内核中。构造内核调用图的方法与构造共享库调用图的方法类似。有事件通过中断或异常向核就启动相应的处理程序。因此,要构造内核调用图必须首先弄清内核函数将在何时执行。通常,内核函数会在下列三种情况下执行:(1)应用程序调用系统调用;(2)发生异常;(3)发生中断。前两种情况是针对应用程序的,第三种情况是针对硬件设备的。为了找出不必要的内核函数,可以从上述三种情况的内核调用图入手。对于前两种情况,可以再结合应用程序调用图和共享库调用图,这样将产生一个s(不在这个集合中的过程就可以删除。4删除不必要的硬件驱动程序第四步是根据嵌入式系统所需的硬件设备,删除不必要的硬件驱动程序。标准嵌入式系统是面向特定硬件平台的,有许多硬件设备是不需要的。例如,键盘和鼠标不是此,要使须找出嵌入式系统不需要的硬件驱动程序的相关代码,并将其删除。5提取出应用程序所需要的库函数和内核函数第五步是综合应用程序调用图、共享库调用图和内核调用图,提取出应用程序所需要的库函数和内核函数。如上所述,共享库调用图没有初始顶点,因此,我们把应用程序调用图与共享库调用图合并。这样,应用程序的初始节点就成了整个混合调用图的入口了。根据S(能够提取出不必要的库函数。由于共享库是连接应用程序和以合并内核调用图和共享第二章能够找出哪些内核函数与库函数相互作用。这样,被调用的内核函数就被添加到s(,从而,提取出不必要的内核函数。6鉴别内核需要哪些异常处理程序在这一步中,尝试删除无效的处理异常的程序代码。因为普通删除不必要的进程,并且测试新内核找出不必要的进程后,在这里就可以将其从是必须确定新内核的正确性。如果新内核有错误,必须核对调用图并生成正确的调用图。基于调用图的清楚调用关系的基础上分析得出需裁剪的部分。但分析绘制所有的调用图都完全依赖于手工,这是一件艰难而又繁杂的工作。因此,基于调用图的内核裁剪方法前期分析绘制调用图是整个裁剪工作的重点和难点,也是最耗时的阶段。23基于仅依赖于按模块、函数为单位的裁剪是不够的,必须分析其内核源代码,在源代码级进行修改,才能实现对内核的精雕细琢。代码分析阶段的目标是用一定的标记法表示软件子系统下的结构,具体来说就是文件(大致内容、输出接口)、文件问的调用关系或者层次关系、该子系统提供给其它子系统或系统外的接口以及函数内部的具体操作。软件的不可见性(软件工程的困难之一。软件工程师始终在寻找令自己满意的软件表示法,流程图、数据流图、信息系统的向结构化设计的模块连接图、面向00的记法(如等。用这一系列的图表示出软件,能更清晰的说明内核裁剪的内容和步骤。基于源代码分析的内核裁剪方法的难点是对内核源代码的正确分析。在正确分析的基础上,可以通过条件编译或直接删除、修改代码达到裁剪的目的。由于上述的各种内核裁剪都各有利弊,本文将几种方法结合到一起使用。首先编译内核时通过e 后在对部运用基于调用图的内核裁剪方法,明确函数间的调用关系,再按照实际需求对源代码进行修改,完成细粒度的U三章嵌入式嵌入式部主要有数据接收、数据处理和数据输出三个用户进程,各进程采用中断方式开始执行,优先级固定不变,其中数据输出进程的优先级最高。从14节的描述中可以知道,本文的嵌入式操作系统裁剪,目的是要提高强特定进程(数据输出进程)的响应实时性。而普通程调度方面重点考虑的是如何兼顾各任务的公平性来提高系统整体吞吐率,这一特点不适合本文的应用,需对其进行修改。另外,普通Li机制会增加系统开销,影响进程调度效率。本章将对普通1【的整体框架及上述两点进行详细分析,在分析的基础上确定需裁剪部分。32普通1 统内核是关键的核心部分,完成了操作系统的基本任务。Ll:进程管理,内存管理,文件系统,网络接口,进程间通信。1进程管理:负责创建和销毁进程,处理它们和外部世界之间的连接(输入输出),控制进程如何共享需要选择下一个进程运行时,由调度程序选择最值得运行的进程。可运行进程实际上是仅等待果某个进程在等待其它资源,则该进程是不可运行进程。使用了比较简单的基于优先级的进程调度算法选择新的进程。2内存管理:允许多个进程安全的共享主内存区域。内存管理支持虚拟内存,即在计算机中运行的程序,其代码,数据,堆栈的总量可以超过实际内存的大小,操作系统只是把当前使用的程序块保留在内存中,其余的程序块则保留在磁盘中。必要时,操作系统负责在磁盘和内存间交换程序块。内存管理从逻辑上分为硬件无关部分和硬件有关部分。硬件无关部分提供了进程的映射和逻辑内存的对换;硬件相关的部分为内存管理硬件提供了虚拟接口。3文件系统:隐藏了各种硬件的具体细节,为所有的设备提供了统一的接口,嵌入式操作系统裁剪技术研究拟文件系统可以分为逻辑文件系统和设备驱动程序。逻辑文件系统指备驱动程序指为每一种硬件控制器所编写的设备驱动程序模块。4网络接口:提供了对各种网络标准的存取和各种网络硬件的支持。网络接口可分为网络协议和网络驱动程序。网络协议部分负责实现每一种可能的网络传输协议。网络设备驱动程序负责与硬件设备通讯,每一种可能的硬件设备都有相应的设备驱动程序。5进程间通讯:支持进程间各种通信机制。上述5个子系统并不是孤立存在的,它们之间有着一定的依赖关系:进程调度与内存管理之间的关系:这两个子系统互相依赖。在多道程序环境下,程序要运行必须为之创建进程,而创建进程的第一件事情,就是将程序和数据装入内存。进程间通信与内存管理的关系:进程间通信子系统要依赖内存管理支持共享内存通信机制,这种机制允许两个进程除了拥有自己的私有空间,还可以存取共同的内存区域。虚拟文件系统与网络接口之问的关系:虚拟文件系统利用网络接口支持网络文件系统(MS),也利用内存管理支持31:存管理利用虚拟文件系统支持交换,交换进程(洲期由调度程序调度,这也是内存管理依赖于进程调度的唯一原因。当一个进程存取的内存映射被换出时,内存管理向文件系统发出请求,同时,挂起当前正在运行的进程。第三章嵌入式“9处于中心位置的进程调度,所有其它的子系统都依赖它,因为每个子系统都需要挂起或恢复进程。一般情况下,当一个进程等待硬件操作完成时,它被挂起;当操作真正完成时,进程被恢复执行。例如,当一个进程通过网络发送一条消息时,网络接口需要挂起发送进程,直到硬件成功地完成消息的发送,当消息被成功的发送出去以后,网络接口给进程返回一个代码,表示操作的成功或失败。其他子系统以相似的理由依赖于进程调度。除了这些依赖关系外,内核
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 担保合作协议合同
- 强化学习策略的中级审计师试题及答案系统
- 值得收藏二级消防工程师试题及答案
- 轻松掌握2025年入团试题及答案
- 施工环境管理试题及答案
- 中级会计考生必知的审计知识试题及答案
- 为2024年高级会计考试准备的试题及答案
- 医院文化建设与医疗安全的关联性研究
- 高级审计资料汇编试题及答案
- 2025年建造师备考成功秘诀试题及答案
- 上海建工集团工具化、定型化、标准化安全防护设施图集
- 化工装置开车前检查确认表
- 隧道工程各施工阶段质量控制要点
- 旅游产品策划与设计课件(完整版)
- 公共管理学(第3版)教学课件汇总完整版电子教案
- 一二三级配电箱原理图、施工临电平面图
- 洁净车间生产管理制度
- DB23∕T 1019-2020 黑龙江省建筑工程资料管理标准
- 杭州市市区历年公房租金调整一览表
- 热力小室方案计划全
- 丽声北极星分级绘本第一级上My Noisy Schoolbag课件
评论
0/150
提交评论