基于Linux嵌入式操作系统的研究

基于Linux嵌入式操作系统的研究
基于Linux嵌入式操作系统的研究

基于Linux 嵌入式操作系统的研究

李红卫1,潘瑜1,王树亮2,薛小锋1

(1.江苏技术师范学院计算机科学与工程学院,江苏常州213001;

2.江苏技术师范学院图书馆,江苏常州213001)

摘要:从Linux内核实时性、实时调度策略以及时钟细粒度定时器三个方面,对Linux嵌入式实时化技术进行了探讨。在内核中插入抢占点或采用双内核系统,改善Linux的实时性能;通过动态优先级提高实时任务的调度性能;通过增加时钟中断频率或采用实时时钟一次性模式,实现时钟细粒度。

关键词:Linux;嵌入式系统;实时性;进程调度

中图分类号:TP316.2文献标识码:A

0引言

嵌入式系统是集软硬件于一体可独立工作的计算机系统,它通常是更大系统中一个完整的部分[1]。

在早期的嵌入式系统设计中一般不包含操作系统,但当系统越来越复杂、应用范围越来越广泛时,没有操作系统已成为系统开发的最大障碍;因此,在嵌入式系统的发展中,出现了各种各样的商用嵌入式操作系统。嵌入式操作系统的出现改变了以往嵌入式软件设计只能针对具体的应用从头做起,使嵌入式系统的开发方法更具科学性;同时,采用嵌入式操作系统提高了系统的开发效率,减少了开发的工作量,增强了软件的可移植性。操作系统成为嵌入式系统的核心,是一个时代的特征,也是嵌入式系统从简单的单片机、微处理器走向愈来愈复杂的嵌入式SOC和CPU的自然体现[2]。开源Linux操作系统的出现,给嵌入式操作系统的发展带来生机,将Linux应用于嵌入式系统开发环境中已十分广泛;但就目前而言,嵌入式Linux的研究成果与市场的真正需求仍有一段差距,还需要在嵌入式Linux系统的实时性、进程调度等方面对其进行不断的改进和完善。

1改造Linux为嵌入式操作系统的分析

实时系统最重要的特征是实时性,实时性是指系统对外部事件的响应和处理要在一个给定的时间内

完成,即计算必须在到达死线(deadline)前完成[1]。根据丢失死线的容忍程度可将实时系统分为硬实时系

统和软实时系统:硬实时系统必须保证任务在到达死线之前完成,丢失死线将会引发灾难;软实时系统能保证任务在死线之前完成,但死线的丢失并不会带来致命的错误。

在大多数嵌入式系统应用中往往要求系统具有实时性。虽然Linux是一个分时操作系统,但其符合POSIX1003.1b关于实时扩展部分的标准,尤其Linux2.6的推出给嵌入式系统以及实时系统的应用带来生机。将Linux改造为嵌入式实时操作系统具有(1)Linux功能强大、(2)开放源码、(3)支持多种硬件平台、(4)

收稿日期:2006-02-21;修回日期:2006-04-03

基金项目:江苏技术师范学院科研基金资助项目(KYY04001)

作者简介:李红卫(1966-),男,山西阳城人,江苏技术师范学院计算机科学与工程学院副教授。

JOURNALOFJIANGSUTEACHERSUNIVERSITYOFTECHNOLOGY江苏技术师范学院学报

Apr.,Vol.12,No.22006

2006年4月第12卷第2期

模块化设计、(5)函数接口符合国际和工业标准等优点[3],但同时也存在一些缺点;Linux毕竟是一个分时

系统,在实时性方面无法与商用实时操作系统相比,仍然存在很大差距。(1)Linux提供的是一种软实时调度算法[4],它对实时任务的调度不做任何保证。在实现调度算法时,Linux注重的是公平、合理的调度策略,对实时进程采用了基于优先级的先进先出算法和基于优先级时间片轮转算法,这两种调度算法均按静态优先级对实时进程进行调度。(2)Linux2.6采用了内核可抢占式调度方式,但它的实现仅仅是在内核中增加了抢占点,抢占点设在中断处理程序即将结束时或系统调用即将结束时。对于强实时系统来说,一旦高优先级的任务进入就绪队列,应立即获得处理机,而调度程序schedule()通常是在中断处理程序结束或系统调用结束时,才有机会运行。如果中断处理时间过长(中断嵌套)或系统调用占用时间过长,都会延误实时任务的执行;只有保证中断处理程序和系统调用执行时间在一个可控的范围内,才能保证实时任务的正确执行。(3)时钟粒度粗糙。时钟中断是驱动操作系统运作的最基本的动力源,系统用它来维持系统时间,监督进程运行,引起进程调度。进程状态的转变在很多情况下也是由时钟中断直接或间接引起的。虽然Linux2.6在i386体系结构中时钟粒度定义为1ms,但在其他大多数体系结构(比如ARM)中,时钟粒度仍然定义为10ms,而实时应用一般都需要微秒级的响应精度,10ms的时钟粒度远不能满足实时应用的要求。综上所述,改造Linux为嵌入式操作系统,可从实时性、进程调度程序、时钟粒度着手进行研究与实现。2

Linux嵌入式操作系统的实时化2.1双内核结构

实时化Linux可有多种实现方案,许多研究项目都在进行Linux方面的实时化改造。采用双内核结构是实时化Linux常用的方案,它是在原有的Linux和硬件之间

设计一个专门用于处理实时进程的实时内核,Linux作为

此内核的一个优先级最低的任务运行,实时任务在实时内

核上运行,非实时任务则在Linux内核上运行。该方案的结

构如图1所示。

这类方案的优点是对Linux内核的改动较小,实现了硬实时和内核可抢占。采用这种结构的有NewMexicoInstituteofTechnogy的RT-Linux、意大利的RTAI、我国信息产业部基金资助的SOPCA[5]等。其中RT-Linux开创了Linux硬实时支持的先河。RTAI的设计更科学,它在硬件与实时内核之间增加了一层实时硬件抽象层RTHAL(real-timehardwareabstractionlayer)。RTHAL将RTAI需要在Linux中修改的部分定义成一组程序界面,RTAI只使用这组界面与Linux沟通,这样,可以把对内核源码的改动降低到可以控制的程度,使内核移植更便捷。特别是在最新版本的RTAI中采用

了ADEOS(adaptivedomainenvironmentforoperatingsystems)超微内核(ADEOSnanokernel)技术[6],极大

地提高了系统的可靠性,也为嵌入式应用方面提供了可抢占的、可伸缩的实时服务。采用双内核结构支持实时系统的设计方案同样也存在一些缺点[3],所有实时任务都必须用内核模块的格式编写,从而导致实时应用的开发变得非常复杂,要求用户必须熟悉Linux内核和设备驱动程序的设计。另外一个重要隐患就是,由于实时任务在核心态中运行,没有对内存进行保护,不当的编程可能会导致内核的崩溃;同时,实时程序的调试也很困难。

2.2直接修改Linux内核

这类方案的共同点是直接修改内核,主要方法是对它的数据结构、调度函数、中断方式等进行修改,提供适应于实时系统的调度策略、提供细粒度的定时器和增加内核抢占点等,使其能处理实时进程。典型实例是MontaVista公司的MontaVistaLinux、CELF组织的CELinux和加州大学Irvine分校开发的RED-Linux。MontaVistaLinux采用标准Linux内核,针对嵌入式设备定制专用的嵌入式操作系统,根据应

非实时任务实时任务计算机硬件实时内核Linux内核图1双内核结构Fig.1StructureofTwoKemels

江苏技术师范学院学报52第12卷

用需求及嵌入式系统资源有限的情况,对内核进行裁减、配置,保证系统稳定,性能突出。在实时性能方面,它提供一个基于优先级的实时调度器。对于无实时需求的进程,仍按Linux原有进程调度策略进行调度;对于实时进程,则按照优先级驱动的原则进行调度,实现了一定的抢占式内核。RED-Linux是在Linux内核的很多函数中插入了抢占点,使得进程在内核态时可以被抢占,从而减小内核的抢占延迟。另外,RED-Linux的调度器被分为两个构件:分派器(dispatcher)和分配器(allocator)。分配器是一个由用户创建的用户实时进程,在用户态执行,它负责将应用程序的资源请求转换成内核可以理解的形式。分派器作为一个内核模块存在,可动态加载并在内核态执行。实时任务先在分配器中注册自己的调度函数参数,再由分派器调度。用这种方法,调度策略易于修改。

采用直接修改Linux内核方案的优点是能够充分利用Linux本身所提供的各种功能和服务,系统结构清晰,能够支持众多硬件平台,可以很好地将嵌入式与实时性结合。它的缺点是实时性能不及双内核方式高,另外直接修改Linux内核源代码进行实时化的工作量大,还可能影响系统的稳定性。采用该方案的大多数嵌入式Linux内核是不可完全被抢占的,所以只能作为一种软实时方案。

3Linux嵌入式调度算法的优化

进程调度的研究是整个操作系统理论的核心[7],在嵌入式操作系统中也不例外。实时调度算法大致可

分为三种:基于优先级的调度算法、

基于时间驱动的调度算法和基于比例共享的调度算法[8]。在Linux内核中调度算法是以优先级驱动的,即调度原则是按优先级的大小决定,并实现了三种调度策略,其中SCHED_FIFO和SCHED_RR应用于实时任务,SCHED_NORMAL应用于非实时任务,实时任务的优先级高于非实时任务的优先级。SCHED_FIFO指当优先级相同时,按先进先出算法进行调度,它不使用时间片,适合于时间性要求比较强、但每次运行所需时间比较短的进程,采用该策略的进程获得CPU后,除非有更高优先级进程申请运行外,否则该进程将保持运行至退出或自愿放弃CPU;SCHED_RR指优先级相同时按时间片轮转算法进行调度;SCHED_NORMAL是基于优先级按时间片轮转算法进行调度,与SCHED_RR调度策略相似,所不同的是SCHED_RR采用静态优先级对实时任务进行调度,

SCHED_NORMAL采用动态优先级对非实时任务进行调度。

因为,实时任务的优先级在运行过程中保持不变,非实时任务的优先级随进程的运行时间、等待时间、是否为交互式进程而动态改变。

在实时系统中,往往要求系统对外部事件的响应和处理要在一个给定的时间内完成,系统输出的正确性不仅依赖于计算的逻辑结果而且依赖于结果产生的时间。随着时间的变化,实时任务的紧迫程度也在变化。在基于优先级的调度算法中,实时进程的优先级如果能随着时间的变化而动态地改变,就能客观地反映出实时任务的紧迫程度。显然,Linux对实时任务按静态优先级进行调度的策略在满足实时性要求时存在瑕疵。

在实时操作系统中,常常面临的另一个问题是优先级反转[9],可描述如下:当高优先级的任务获得运行资格后,发现它所需要的共享资源被某低优先级的任务占用,则该高优先级任务被阻塞;而该低优先级的任务又被中等优先级的任务强占而无法运行,致使高优先级的任务在有效时间内无法获得被低优先级任务所占用的共享资源而迟迟不能运行。优先级反转使系统的行为难于预期,实时进程的时限不能得到保证。

由于上述问题,在改造Linux为嵌入式操作系统时,要对进程调度算法进行认真的思考。在嵌入式实时操作系统中常采用以下调度算法实现:

(1)最早死线优先(EarliestDeadlineFirst,EDF)调度策略。

EDF调度策略是动态优先级调度常见的实时调度策略。它以任务死线作为优先级,进程创建后被加到就绪队列中,该队列按照死线排序,首先运行死线最近的进程。在各种动态调度策略中,EDF调度可以得到最高的CPU利用率。

(2)单调速率(RateMonotonicScheduling,RMS)调度策略。RMS是实时系统中最常用的静态优先

李红卫潘瑜王树亮等:基于Linux嵌入式操作系统的研究第2期53

级算法。该算法事先为每个进程分配一个与任务频率成正比的优先级,任务调度频率越高,优先级就越高。调度程序总是调度优先级最高的就绪进程。RMS策略为系统带来的额外负载非常小,这对实时系统十分有利。

(3)优先级继承协议(PriorityInheritanceProtocol,PIP)。PIP调度策略是解决优先级反转问题的常用算法。当一个任务阻塞了一个或多个高优先级任务时,该任务将不使用其原来的优先级,而使用被该任务所阻塞的任务中最高优先级作为其执行临界区的优先级;当该任务退出临界区时,又恢复到其最初的优先级。

针对Linux调度程序的改进,我们可综合常用的调度算法设计出一些混合算法。在以优先级驱动的调

度算法中,动态优先级大小通常用进程的死线(deadline)和价值(value)[9]来决定。本文提出一种动态调度

算法,使用最小估计生存时间(Life)、最长运行时间(Executiontime)和进程的价值(Value)动态计算进程的优先级。最小生存时间L是指当某一实时进程被唤醒后需要在多长时间内完成运行的最小时间,最长运行时间E是指实时进程在处理器上运行需要的最长时间,进程的价值V用来衡量实时任务的重要程度(其值越小其价值越高)。计算动态优先级的计算模型用公式表示为:

p=V-kEL-S。(1)

其中p表示进程的动态优先级,其值越大,其优先级越小;V表示进程的价值;S是进程等待处理机经历的时间;k是进程的最长运行时间E与(L-S)比值的系数因子。E/(L-S)的值越大其动态优先级越高。例如有两个实时进程A和B,A进程的价值V为50、B进程的价值V为49,A进程的最长运行时间E是2ms、B进程的最长运行时间E为4ms,A进程最小生存时间L为5ms、B进程最小生存时间L为8ms,取k值为5。若这两个进程同时到达,则它们的动态优先级为:pA=50-2/(5-0)×5=48、pB=49-4/

(8-0)×5=47,因B进程的优先级比A进程的优先级高,优先运行;当B进程运行2ms后,A进程等待了2ms,则其动态优先级为pA=50-2/(5-2)×5=47、pB=49-4/

(8-0)×5=47,进程A和B优先级相等;假设B再运行1ms,此时进程A等待了3ms,此刻进程优先级计算为pA=50-2/(5-3)×5=45、pB=49-4/

(8-0)×5=47,进程A的优先级比进程B的优先级大,此时进程调度程序会选择A运行。可见,通过模型(1)可以按进程的紧迫程度进行调度。

在实现该调度算法时,将优先级继承协议一并考虑,将会使调度程序更加完善,既动态地反映实时任务的紧迫程度又避免了优先级反转问题。

4细粒度定时器的实现

精确的计时是实时调度器正确操作所必需的。在标准Linux中定时粒度太粗,很难满足特定嵌入式应用领域对于响应时间精度的要求,而造成时间精度低的一个原因是操作系统使用周期性的时钟中断[10]。为了达到微秒级的粒度,如果简单地对时钟芯片编程,使之运行在较高频率下,则系统开销太高。比如每秒时钟中断次数增加到10万次,虽然得到10μs的粒度,但系统在1s的时间内执行了10万次时钟中断处理程序,造成较高的系统开销(当然,这种开销会随着硬件速度的提高逐步降低)。

这种周期模式的定时器可适用于某些周期性强的场合,而且,对定时器的设置仅需要在初始化时进行一次,不需要在下一个实时任务到来之前重新设置,这也保证了处理效率。但如何确定时钟中断频率是系统设计者考虑的主要问题,既不能使系统开销过高,又不能使计时精度太低。

然而,许多实时应用真正需要的不是在每一个微秒都发生时钟中断,而是在任何一个微秒都允许发生时钟中断,这样不再将时钟芯片设置为固定的频率,而是设置为下一个事件要发生的时间。这种设置时钟芯片的方式称之为一次性模式。但是,这样做的代价是在每个中断后重设时钟。RTLinux既提供了周期性模式,也提供了一次性模式。由Kansas大学开发的Kurt-Linux采用了一次性模式。

对于周期性时钟中断的实现,当时钟中断频率越高,系统的开销就越大;对于一次性模式,可有效地江苏技术师范学院学报54第12卷

支持硬实时系统,减少时钟中断的次数,但对时钟定时器的编程将变得复杂。在细粒度定时器的实现中,要多方位思考,采取适合实际应用环境的解决方案。

5结语

随着嵌入式应用的日益深入,把原有的Linux分时系统改造成一个嵌入式的实时操作系统,具有广阔的应用前景。本文从Linux实时化、实时调度策略以及时钟细粒度定时器三个方面,对嵌入式Linux实时化技术进行了探讨。Linux在实时性支持方面存在着不足,在开发基于Linux嵌入式实时操作系统中,有许多关键技术需要克服。利用在内核中通过插入抢占点来增强Linux实时性的思想简单,但有一定的安全隐患;而把它改造为一个双内核系统,可提高Linux的实时性能,同时对原始内核修改较少,从而保证了稳定性,但设计复杂度提高。Linux对实时任务的调度策略是采用静态优先级,本文提出一种利用进程的死线、生存期和执行时间三个参数动态计算进程的优先级,并采用优先级继承协议解决优先级反转问题。针对Linux系统定时粒度过大的问题,一般的解决方案是提高时钟中断频率或将实时时钟编程为一次性模式,实现时钟细粒度。随着Linux实时性能的逐步完善,Linux将在嵌入式实时应用中发挥巨大的作用。参考文献:

[1]LiQing.Real-TimeConceptsforEmbeddedSystems[M].Beijing:BeijingUniversityofAeronauticsandAstronauticsPress,2004.[2]陈翌,田捷,王金刚.嵌入式软件开发技术[M].北京:国防工业出版社,2003.

[3]李小群,赵慧斌,叶以民,等.RFRTOS:基于Linux的实时操作系统[J].软件学报,2003,14(7):1203-1212.

[4]LoveR.LinuxKernelDevelopmentSecondEdition[M].Indiana:SAMSpublishing,2005.

[5]刘云新,张尧学.一个基于Linux的嵌入式实时操作系统[J].计算机工程与应用,2001(7):64-66、

85.[6]YaghmourK.AdaptiveDomainEnvironmentforOperatingSystem[EB/OL].[2001-02-15]http://www.opersys.com/adeos.[7]毛德操,胡希明.Linux源代码情景分析[M].杭州:浙江大学出版社,2001.

[8]满春涛,李鹏.嵌入式Linux操作系统实时性的分析与研究[J].自动化技术与应用,2005,24(5):40-42.

[9]ShaL,RajkumarR,LehoczkyJP.PriorityInheritanceProtocols:AnApproachtoReal-timeSynchronization[J].IEEETransaction

onComputers,1990,39(9):1175-1185.

[10]赵晖.优化嵌入式Linux实时性能[J].开放系统世界,2009(9):90-93.

ResearchonEmbeddedOperatingSystemBasedLinux

LIHong-wei1,PanYu1,WANGShu-liang2,XueXiao-feng1

(1.SchoolofComputerScienceandEngineering,JiangsuTeachersUniversityofTechnology,

Changzhou213001,China;2.Library,JiangsuTeachersUniversityofTechnology,

Changzhou213001,China)

Abstract:Thispaperexplorestheembeddedreal-timetechnologyofLinuxinthreeaspectsofthekernelreal-timeperformance,thereal-timeschedulingpolicyandtheclockhigh-resolutiontimer.Thereal-timeperformanceisimprovedbyinsertingpreemptivepointsoradoptingtwokernelssystem.Theschedulingperformanceofreal-timetasksisenhancedbythedynamicpriorityschedulingpolicy.Theclockhighresolutionisrealizedbyaddingthefrequencyofthetimerinterruptoradoptingthereal-timeclockone-shotmode.

Keywords:Linux;embeddedsystem;real-timeperformance;processscheduling

责任编辑蔡海葆李红卫潘瑜王树亮等:基于Linux嵌入式操作系统的研究第2期55

三种常用的嵌入式操作系统分析与比较

三种常用的嵌入式操作系统分析与比较 摘要:提要三种常用的嵌入式操作系统——Palm OS、Windows CE、Linux;在此基础上、分析、比较这三种嵌入式操作系统,给出它们之间的异同点及各自的适用范围。 1 嵌入式系统与嵌入式操作系统 1.1 嵌入式系统 嵌入式系统是以嵌入式计算机为技术核心,面向用户、面向产品、面向应用,软硬件可裁减的,适用于对功能、可靠性、成本、体积、功耗等综合性能有严格要求的专用计算机系统。 嵌入式系统应具有的特点是:高可靠性;在恶劣的环境或突然断电的情况下,系统仍然能够正常工作;许多嵌入式应用要求实时性,这就要求嵌入式操作系统具有实时处理能力;嵌入式系统和具体应用有机地结合在一起,它的升级换代也是具体产品同步进行;嵌入式系统中的软件代码要求高质量、高可靠性,一般都固化在只读存储器中或闪存中,也就是说软件要求固态化存储,而不是存储在磁盘等载体中。 1.2 嵌入式操作系统 嵌入式操作系统EOS (Embedded Operating System)是一种用途广泛的系统软件,过去它主要应用于工业控制和国防系统领域。EOS负责嵌入系统的全部软、硬件资源的分配、调度作,控制、协调并发活动;它必须体现其所在系统的特征,能够通过装卸某些模块来达到系统所要求的功能。目前,已推出一些应用比较成功的EOS产品系列。随着Internet技术的发展、信息家电的普及应用及EOS的微型化和专业化,EOS开始从单一的弱功能向高专业化的强功能方向发展。嵌入式操作系统在系统实时高效性、硬件的相关依赖性、软件固化以及应用的专用性等方面具有较为突出的特点。EOS是相对于一般操作系统而方的,它除具备了一般操作系统最基本的功能,如任务调度、同步机制、中断处理、文件处理等外,还有以下特点: ①可装卸性。开放性、可伸缩性的体系结构。 ②强实时性。EOS实时性一般较强,可用于各种设备控制当中。 ③统一的接口。提供各种设备驱动接口。

《嵌入式操作系统》课程教学大纲

《嵌入式操作系统》课程教学大纲 (Embedded Operating System) 课程编号: 课程性质:专业课 适用专业:软件工程 先修课程:计算机组成和结构、C语言程序设计、操作系统原理、嵌入式系统原理与设计 后续课程:嵌入式操作系统 总学分:3(其中实验学分0.5) 一、教学目的与要求 “嵌入式操作系统”是软件工程专业的课程之一,培养学生具有嵌入式系统的应用知识、嵌入式系统的初步分析能力和具有用RTOS构成嵌入式系统的应用能力。介绍嵌入式系统中嵌入式实时操作系统和其他技术。通过本课程学习常见的嵌入式操作系统;掌握嵌入式系统软硬件设计的基本方法;跟踪嵌入式系统最新设计理念;实践嵌入式系统项目开发基本流程;为嵌入式系统开发奠定良好的基础。 本课程以介绍嵌入式操作系统知识为主,但在构成一个嵌入式计算机应用系统时,还必须具有用汇编语言、C或C++语言及程序设计编制源程序的能力,软硬件结合是本课程的一个特点。 1.教学目的 通过本课程的学习,使学生具有嵌入式操作系统的分析能力和初步设计能力。 2.教学要求 本课程采用课堂教学和试验教学相结合,以课堂教学为主的教学形式。通过本课程的学习,要求学生能够达到: (1)较深入地了解嵌入式操作系统的组成及工作原理; (2)具有较高的汇编语言源程序的阅读能力和一定的程序编写能力; (3)掌握嵌入式操作系统的使用方法和移植方法; 二、课时安排

注:教学、实验内容和学时安排各专业任课教师可根据具体专业要求作适当调整。 三、教学内容 1. 概论(2学时) (1)教学的基本要求 了解:嵌入式系统、实时系统的基本概念 重点:嵌入式操作系统的选型 (2)教学内容 ①嵌入式系统的概念 ②嵌入式操作系统的分类 ③嵌入式系统的应用举例 2. 嵌入式系统工程设计(4学时) (1)教学的基本要求 了解:介绍可用于嵌入式应用开发的一些基本方法 重点:介绍嵌入式实时软件工程方法 (2)教学内容 ①嵌入式系统项目开发流程 ②嵌入式系统工程设计方法 3. 内核相关基本概念(10学时) (1)教学的基本要求 了解:内核的定位与可裁剪性;相关基本术语 理解:任务状态、调度规则,中断处理,任务异常处理 掌握:非任务执行时、任务无关部分和准任务部分的系统状态 重点:任务状态 难点:中断处理 (2)教学内容 ①内核的定位与可裁剪性。 ②任务的运行、就绪、等待与睡眠和不存在状态。 ③任务的优先级与调度规则。 ④中断与异常。 ⑤系统状态。 4. 数据类型与系统调用(6学时) (1)教学的基本要求 了解:普通数据类型和其它定义数据类型 理解:相对时间,系统时间,时限 掌握:系统调用的格式,调用方法以及参数包的修改 重点:系统调用方法。 难点:参数包的修改。

嵌入式操作系统简介以及发展史

嵌入式操作系统简介以及发展史 导语:嵌入式操作系统离我们生活并不远,甚至我们生活中处处都可见,比如各种路由器,机顶盒,洗衣机,空调,手机等。嵌入式操作系统的定义: 嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可裁减,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用操作系统。嵌入式系统的发展:嵌入式操作系统并不是一个新生的事物,从20世纪80年代起,国际上就有了一些IT组织,公司开始进行商用嵌入式系统和专用操作系统的研发,这期间涌现了一些著名的嵌入式操作系统:windows CEVxWorkspSOSQNXPalm OSOS-9LynxOS目前,有很多商用嵌入式操作系统都在努力的为自己争取嵌入式市场的份额。但是,这些专用操作系统均属于商业化产品,价格昂贵,而且,他们的源码不公开,使得各自的嵌入式系统上的应用软件不能互相兼容。这导致了商业嵌入式系统对支持各种设备存在了很大的问题,使软件移植变得相当困难,但是,在这个时候,我们伟大的linux操作系统横空出世, 由于linux自身诸多的优点以及优势,吸引了许多开发商的 目光,使得linux成为了嵌入式操作系统的新宠。嵌入式操 作系统发展的四个阶段:第一阶段:无操作系统的嵌入式算法阶段,以单芯片为核心的可编程控制器的系统,具有监测,

伺服,指示设备相配合的功能。应用在一些专业性极强的工业控制系统,使用古老的汇编语言进行系统的直接控制。第二阶段:以嵌入式CPU为基础,简单操作系统为核心的嵌入式操作系统,CPU种类繁多,通用性差,系统开销小,效率高,一般配备系统仿真器,操作系统有一定的兼容性,软件较为专业,用户界面不够友好,系统主要用来监测系统和应用程序运行。 第三阶段:通用的嵌入式实时操作系统阶段,以嵌入式操作系统为核心的嵌入式系统,能运行于各种微处理器上,兼容性好,内核小,效率高,具有高度的模块化和扩展化,有文件管理和目录管理,设备支持,多任务,网络支持,图形窗口以及用户界面等功能,具有大量的应用程序接口(API),软件非常丰富,代表就是linux。 第四阶段:以Internet为标志的嵌入式操作系统,这是一个正在迅速发展的阶段,现在非常多的嵌入式操作系统已经有了接入Internet的能力。通过一个综合网关。 常见的嵌入式操作系统:uC/OS-Ⅱ:uC/OS-Ⅱ是一个公开源码,结构小巧,实时内核的实时操作系统。是一种基于优先级的可抢占式的硬实时内核,其内核提供任务管理与调度,时间管理,任务同步和通信,内存管理,中断服务等功能。其内核最小可以编译至2KB左右。-RTLinux:RTLinux是一个源代码开放的具有硬实时特性的多任务操作系统,他是通

嵌入式系统期末考试题库及答案

嵌入式系统期末考试题库及答案 《嵌入式系统》试题库 《嵌入式系统》试题库 一、填空题 1、嵌入式系统的基本定义为:以应用中心,以计算机技术为基础,软件硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。 2、从模块结构来看,嵌入式系统由三大部分组成,分别是:硬件、软件和开发平台。 3、从层次角度来看,嵌入式系统由四大部分组成,分别是:应用软件层、操作系统层、板级支持包(或硬件抽象层)和硬件层。 4、嵌入式产品的主要度量指标包括:上市时间、设计成本和产品质量。 5、嵌入式系统的设计过程包括:需求分析、规格说明、体系结构设计、构件设计、系统集成和系统测试。 6、需求分析包括:功能性需求分析和非功能性需求分析。 7、确定输入信号是数字信号还是模拟信号属于功能性需求。 8、确定系统的物理尺寸和重量属于非功能性需求。 9、在嵌入式系统的设计过程中,其中规格说明解决“做什么”。 10、在嵌入式系统的设计过程中,其中体系结构设计解决“如何做”。 11、在嵌入式系统的设计过程中,软硬件划分应该在体系结构设计阶段完成。12、在嵌入式系统的设计过程中,处理器的选择应该在体系结构设计阶段完成。13、在嵌入式系统的设计过程中,嵌入式操作系统的选择应该在体系结构设计阶段完成。14、在嵌入式系统的设计过程中,完成原理图设计应在构件设计阶段完成。15、在嵌入式系统的设计过程中,完成版图设计应在构件设计阶段完成。16、在嵌入式系统的设计过程中,完成软件设计应在构件设计阶段完成。 17、反映嵌入式系统设计人员的水平能力主要在于总体设计(需

求分析、规格说明和体系结构设计)和系统调试。 18、设计流程指的是设计过程中所经历的过程步骤。 19、设计重用技术主要分为基于IP 核的模块级重用和基于平台的系统级重用。20、软硬件协同设计由系统描述、软硬件划分、软硬件协同综合以及软硬件协同模拟与验证几个阶段组成。 21、嵌入式处理器的分类包括三种,分别是:嵌入式微处理器、微控制器(或单片机)和 第1 页共44 页 1 《嵌入式系统》试题库 数字信号处理器(DSP)。 22、列举常见的ARM 系列处理器:ARM7 系列、ARM9 系列、ARM11 系列、Cortex-M 系列、Cortex-R 系列、Cortex-A 系列等。 23、ARM 系列微处理器支持的数据类型有:字节、半字和字等三种类型。24、ARM 系列微处理器支持的字数据存储格式有:大端格式和小端格式。25、ARM 系列处理器通过执行BX 或者BLX 指令来实现工作状态的切换。26、列举常见的存储器类型:SRAM、DRAM、Flash、EEPROM 等。27、对于RAM 存储器主要有两种,分别是:SRAM 和DRAM。 28、在时钟信号边沿到来之前的一段时间内,数据信号必须保持稳定,这段时间称为器件的建立时间;在时钟信号边沿到来之后的一段时间内,数据信号必须保持稳定,这段时间称为器件的保持时间。 29、总线是在多于两个模块(设备、子系统)之间传送信息的公共通路。30、总线的功能是信息共享和交换。 31、总线由传输信息的物理介质和管理信息传输的协议组成。 32、挂接在总线上的设备依据启动总线事务的能力可以分为主设备和从设备。33、总线协议依据同步方式可分为同步时序协议和异步时序协议。34、总线仲裁方式可分为集中式仲裁和分布式仲裁。

常见的嵌入式操作系统

常见的嵌入式操作系统 分类:嵌入式操作系统2012-12-11 10:06 459人阅读评论(1) 收藏举报嵌入式操作系统 嵌入式操作系统与通用的操作相比较主要特点在于: 1.小内核,稳定可靠。 2.需要可装卸、可裁剪,以便能灵活应对各种不同的硬件平台。 3.面向应用,强实时性,可用于各种设备控制当中。 国际上常见的嵌入式操作系统大约有40种左,右如:Linux、uClinux、WinCE、PalmOS、Symbian、eCos、uCOS-II、VxWorks、pSOS、Nucleus、ThreadX 、Rtems 、QNX、INTEGRITY、OSE、C Executive 。他们基本可以分为两类,一类是面向控制、通信等领域的实时操作系统,如windriver公司的vxworks、isi的psos、qnx系统软件公司的qnx、ati的nucleus等;另一类是面向消费电子产品的非实时操作系统,这类产品包括个人数字助理(pda)、移动电话、机顶盒、电子书、webphone等,系统有Microsoft的WinCE,3Com 的Palm,以及Symbian和Google的Android等。 一、VxWorks VxWorks操作系统是美国WindRiver公司于1983年设计开发的一种嵌入式实时操作系统(RTOS),是T ornado嵌入式开发环境的关键组成部分。良好的持续发展能力、高性能的内核以及友好的用户开发环境,在嵌人式实时操作系统领域逐渐占据一席之地。VxWorks具有可裁剪微内核结构;高效的任务管理;灵活的任务间通讯;微秒级的中断处理;支持POSIX 1003.1b实时扩展标准;支持多种物理介质及标准的、完整的TCP/IP网络协议等。 然而其价格昂贵。由于操作系统本身以及开发环境都是专有的,价格一般都比较高,通常需花费10万元人民币以上才能建起一个可用的开发环境,对每一个应用一般还要另外收取版税。一般不通供源代码,只提供二进制代码。由于它们都是专用操作系统,需要专门的技术人员掌握开发技术和维护,所以软件的开发和维护成本都非常高。支持的硬件数量有限。 二、Windows CE Windows CE与Windows系列有较好的兼容性,无疑是Windows CE推广的一大优势。其中WinCE3.0是一种针对小容量、移动式、智能化、32位、了解设备的模块化实时嵌人式操

基于Linux嵌入式操作系统的研究

基于Linux 嵌入式操作系统的研究 李红卫1,潘瑜1,王树亮2,薛小锋1 (1.江苏技术师范学院计算机科学与工程学院,江苏常州213001; 2.江苏技术师范学院图书馆,江苏常州213001) 摘要:从Linux内核实时性、实时调度策略以及时钟细粒度定时器三个方面,对Linux嵌入式实时化技术进行了探讨。在内核中插入抢占点或采用双内核系统,改善Linux的实时性能;通过动态优先级提高实时任务的调度性能;通过增加时钟中断频率或采用实时时钟一次性模式,实现时钟细粒度。 关键词:Linux;嵌入式系统;实时性;进程调度 中图分类号:TP316.2文献标识码:A 0引言 嵌入式系统是集软硬件于一体可独立工作的计算机系统,它通常是更大系统中一个完整的部分[1]。 在早期的嵌入式系统设计中一般不包含操作系统,但当系统越来越复杂、应用范围越来越广泛时,没有操作系统已成为系统开发的最大障碍;因此,在嵌入式系统的发展中,出现了各种各样的商用嵌入式操作系统。嵌入式操作系统的出现改变了以往嵌入式软件设计只能针对具体的应用从头做起,使嵌入式系统的开发方法更具科学性;同时,采用嵌入式操作系统提高了系统的开发效率,减少了开发的工作量,增强了软件的可移植性。操作系统成为嵌入式系统的核心,是一个时代的特征,也是嵌入式系统从简单的单片机、微处理器走向愈来愈复杂的嵌入式SOC和CPU的自然体现[2]。开源Linux操作系统的出现,给嵌入式操作系统的发展带来生机,将Linux应用于嵌入式系统开发环境中已十分广泛;但就目前而言,嵌入式Linux的研究成果与市场的真正需求仍有一段差距,还需要在嵌入式Linux系统的实时性、进程调度等方面对其进行不断的改进和完善。 1改造Linux为嵌入式操作系统的分析 实时系统最重要的特征是实时性,实时性是指系统对外部事件的响应和处理要在一个给定的时间内 完成,即计算必须在到达死线(deadline)前完成[1]。根据丢失死线的容忍程度可将实时系统分为硬实时系 统和软实时系统:硬实时系统必须保证任务在到达死线之前完成,丢失死线将会引发灾难;软实时系统能保证任务在死线之前完成,但死线的丢失并不会带来致命的错误。 在大多数嵌入式系统应用中往往要求系统具有实时性。虽然Linux是一个分时操作系统,但其符合POSIX1003.1b关于实时扩展部分的标准,尤其Linux2.6的推出给嵌入式系统以及实时系统的应用带来生机。将Linux改造为嵌入式实时操作系统具有(1)Linux功能强大、(2)开放源码、(3)支持多种硬件平台、(4) 收稿日期:2006-02-21;修回日期:2006-04-03 基金项目:江苏技术师范学院科研基金资助项目(KYY04001) 作者简介:李红卫(1966-),男,山西阳城人,江苏技术师范学院计算机科学与工程学院副教授。 JOURNALOFJIANGSUTEACHERSUNIVERSITYOFTECHNOLOGY江苏技术师范学院学报 Apr.,Vol.12,No.22006 2006年4月第12卷第2期

嵌入式操作系统复习资料

嵌入式操作系统课程复习 (嵌入式操作系统原理) 一、真空题 1.根据系统中的任务获得使用CPU的权力的方式,多任务实时操作系统的内核分为可剥夺型和不可剥夺型两种类型。 2.实时操作系统需要满足的条件包括多任务、可剥夺型内核、任务切换时间固定、中断延时尽量短。 3.目前比较常见的操作系统有_WinCE_、_uCLinux_、_Uc/OC-II_等。 4.在ucos-ii中任务的状态包括_睡眠状态_、就绪状态_、运行状态、中断服务状态_等。5.在ucos-ii中任务由_任务的代码_、任务控制块_、_任务堆栈_三个部分组成。 6.在ucos-ii中提供的空闲任务OSTaskIdle()的作用是完成_对OSdleCtr计数器加1_。7.在ucos-ii中提供的统计任务OSTaskStat()的作用是完成_CPU利用率OSCPUUsage统计。8.在ucos-ii中任务的调度主要完成_在任务就绪表中查找具有最高优先级别的就绪任务_、实现任务的切换两件事。 二、简答题 1.代码的临界段?在ucos-ii中通过哪几种方式实现? 在应用程序中,能够不受任何干扰而运行的代码段,称做临界段。它主要通过开关中断技术实现。用户可通过定义移植文件OS_CPU.H中的常数OS_CRITICAL_METHOD 来实现选择 开关中断的实现方法分三种: 1)直接用处理器指令 2)在堆栈中保存中断的开关状态,然后再关中断。 3)通过编译器提供的c函数来保存处理器状态字的值。 #if OS_CRITICAL_METHOD == 1 #define OS_ENTE R_CRITICAL() asm ("DI") //关中断 #define OS_EXIT_CRITICAL() asm ("EI") //开中断 #endif #if OS_CRITICAL_METHOD == 2 #define OS_ENTER_CRITICAL() asm ("PUSH PSW,DI") //保存CPU状态,关中断 #define OS_EXIT_CRITICAL() asm ("POP psw) //恢复中断允许标志 #endif #if OS_CRITICAL_METHOD == 3 #define OS_ENTER_CRITICAL() ("cpu_sr = get_processor_psw(),DI") //保存CPU状态,关中断 #define OS_EXIT_CRITICAL() ("Set_processor_psw(cpu_sr)) //恢复中断允许标志#endif 2.调度?在ucos-ii中其调度算法是什么? 在多任务系统中,令CPU中止当前正在运行的任务转而去运行另一个任务的工作叫任

嵌入式操作系统的发展现状

嵌入式操作系统的发展现状 【摘要】嵌入式操作系统是一种用途广泛的系统软件,负责嵌入系统的全部软、硬件资源的分配和调度工作,它必须体现其所在系统的特征,能够通过装卸某些模块来达到系统所要求的功能。随着Internet技术的发展、信息家电的普及应用及嵌入式操作系统的微型化和专业化,嵌入式操作系统开始从单一的弱功能向高专业化的强功能方向发展。 【关键词】嵌入式操作系统;嵌入式系统 1.引言 嵌入式操作系统EOS(Embedded Oper-ating System)是一种用途广泛的系统软件,它与嵌入式系统密不可分。嵌入式系统主要由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序等四个部分组成,它是集软硬件于一体的可独立工作的“器件”。 嵌入式技术的发展,大致经历了四个阶段:第一阶段是以单芯片为核心的可编程控制器形式的系统,同时具有与监测、伺服、指示设备相配合的功能。第二阶段是以嵌入式CPU为基础、以简单操作系统为核心的嵌入式系统。第三阶段是以嵌入式操作系统为标志的嵌入式系统。第四阶段是以基于Internet为标志的嵌入式系统,这是一个正在迅速发展的阶段。嵌入式系统的发展对嵌入式操作系统提出了更高的要求。因此,对嵌入式操作系统的结构、设计、用户界面等诸多方面进行深入研究,将有助于嵌入式系统的应用和发展。 2.嵌入式操作系统的发展状况 国外嵌入式操作系统已经从简单走向成熟,主要有Vxwork、QNX、Palm OS、Windows CE等。国内的嵌入式操作系统研究开发有2种类型,一类是基于国外操作系统二次开发完成的,如海信的基于Windows CE的机顶盒系统;另一类是中国自主开发的嵌入式操作系统,如凯思集团公司自主研制开发的嵌入式操作系统Hopen OS(“女娲计划”)等。 Windows CE内核较小,能作为一种嵌入式操作系统应用到工业控制等领域。其优点在于便携性、提供对微处理器的选择以及非强行的电源管理功能。内置的标准通信能力使Windows CE能够访问Internet并收发E-mail或浏览Web。除此之外,Windows CE特有的与Windows类似的用户界面使最终用户易于使用。Windows CE的缺点是速度慢、效率低、价格偏高、开发应用程序相对较难。 3Com公司的Palm OS在掌上电脑和PDA市场上独占其霸主地位,它有开放的操作系统应用程序接口(API),开发商可根据需要自行开发所需的应用程序。 QNX是由加拿大QSSL公司开发的分布式实时操作系统,它由微内核和一

嵌入式系统期末考试试卷 习题

1.下面哪一种工作模式不属于ARM特权模式(A)。 A.用户模式B.系统模式C.软中断模式D.FIQ模式 2.ARM7TDMI的工作状态包括( D )。 A.测试状态和运行状态B.挂起状态和就绪状态 C.就绪状态和运行状态D.ARM状态和Thumb状态 3.下面哪个Linux操作系统是嵌入式操作系统( B )。 A.Red-hat Linux B.uclinux C.Ubuntu Linux D.SUSE Linux 4.使用Host-Target联合开发嵌入式应用,( B )不是必须的。 A.宿主机B.银河麒麟操作系统 C.目标机D.交叉编译器 5.下面哪个不属于Linux下的一个进程在内存里的三部分的数据之一(A)。 A.寄存器段B.代码段 C.堆栈段D.数据段 选择题(共5小题,每题2分,共10分) 1.下面哪个系统属于嵌入式系统( D )。 A.“天河一号”计算机系统B.IBMX200笔记本电脑 C.联想S10上网本D.Iphone手机 2.在Makefile中的命令必须要以(A)键开始。 A.Tab键B.#号键 C.空格键D.&键 3.Linux支持多种文件系统,下面哪种不属于Linux的文件系统格式( B )。 A.Ext B.FA T32 C.NFS D.Ext3 4.下面哪种不属于VI三种工作模式之一( D )。 A.命令行模式B.插入模式 C.底行模式D.工作模式 5.下面哪一项不属于Linux内核的配置系统的三个组成部分之一( C )。 A.Makefile B.配置文件(config.in) C.make menuconfig D.配置工具 1.人们生活中常用的嵌入式设备有哪些?列举4个以上(1) 手机,(2) 机顶盒,(3) MP3,(4) GPS。(交换机、打印机、投影仪、无线路由器、车载媒体、PDA、GPS、智能家电等等。) 2.ARM9处理器使用了五级流水线,五级流水具体指哪五级:(5) 取指,(6) 译码,(7) 执行,(8) 缓冲/数据,(9) 回写。 3.在Makefile中的命令必须要以(10) Tab 键开始。 4.Linux支持多种文件系统,主要包括哪些(写出其中4中就行)(11) Ext,(12) VFA T,(13) JFS,(14) NFS。(JFS、ReiserFS、Ext、Ext2、Ext3、ISO9660、XFS、Minx、MSDOS、UMSDOS、VFAT、NTFS、HPFS、NFS、SMB、SysV、PROC等) 5.VI的工作模式有哪三种:(15) 命令行模式,(16) 插入模式,(17) 底行模式。

嵌入式操作系统

嵌入式操作系统

问答题 1.什么是嵌入式系统,它由哪几部分组成?嵌入式系统是指操作系统和功能软件集成于计算机硬件系统之中。简单的说就是系统的应用软件与系统的硬件一体化,类似与BIOS的工作方式。具有软件代码小,高度自动化,响应速度快等特点。特别适合于要求实时的和多任务的体系。根据IEEE的定义:嵌入式系统是“用于控制、监视或者辅助操作机器和设备的装置”。简单地讲就是嵌入到对象体中的专用计算机系统。嵌入式系统一般有3个主要的组成部分:硬件、实时操作系统以及应用软件。硬件:包括处理器、存储器、输入输出设备、其他部分辅助系统等。实时操作系统:用于管理应用软件,并提供一种机制,使得处理器分时地执行各个任务并完成一定的时限要求.应用软件:实现具体业务逻辑功能。2.嵌入式系统的三要素是什么?嵌入式系统的三要素是嵌入、专用、计算机;其中嵌入性指的是嵌入到对象体系中,有对象环境要求;专用性是指软、硬件按对象要求裁减;计算机指实现对象的智能化功能。广义地说一个嵌入式系统就是一个具有特定功能或用途的计算机软硬件集合

体。即以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。3.列举五种以上的嵌入式实时操作系统?嵌入式实时操作系统是指操作系统本身要能在一个固定时限内对程序调用(或外部事件)做出正确的反应,亦即对时序与稳定性的要求十分严格。目前国际较为知名的有:VxWorks、NeutrinoRTOS、Nucleus Plus、OS/9、VRTX、LynuxOS,RTLinux、BlueCat RT等。 4.嵌入式系统一般由几层组成?简单介绍其作用?嵌入式系统一般由硬件层、中间层、软件层和功能层组成。其作用分别如下:(1)硬件层:由嵌入式微处理器、外围电路和外设组成。外围电路有:电源电路、复位电路、调试接口和存储器电路,就构成一个嵌入式核心控制模块。操作系统和应用程序都可以固化在ROM或者Flash 中。为方便使用,有的模块在此基础上增加了LCD、键盘、USB接口,以及其他一些功能的扩展电路。(2)中间层:硬件层与软件层之间为中间层,也称为BSP(Board Support Package,板级支持包)。作用:将系统软件与底层硬件部

几种主流嵌入式操作系统分析

几种主流嵌入式操作系统分析 1.嵌入式Linux 嵌入式Linux(Embedded Linux)是指对标准Linux经过小型化裁剪处理之后,能够固化 在容量只有几KB或者几MB 字节的存储器芯片或者单片机中,是适合于特定嵌入式应用场合的专用Linux操作系统。在目前已经开发成功的嵌入式系统中,大约有一半使用的是Linux。 这与它自身的优良特性是分不开的。 嵌入式Linux 同Linux 一样,具有低成本、多种硬件平台支持、优异的性能和良好的网络支持等优点。另外,为了更好地适应嵌入式领域的开发,嵌入式Linux 还在Linux 基础上 做了部分改进,如下所示。 ? 改善的内核结构 Linux 内核采用的是整体式结构(Monolithic),整个内核是一个单独的、非常大的程序,这____________样虽然能够使系统的各个部分直接沟通,提高系统响应速度,但与嵌入式系统存储容量小、 资源有限的特点不相符合。因此,在嵌入式系统经常采用的是另一种称为微内核(Microkernel) 的体系结构,即内核本身只提供一些最基本的操作系统功能,如任务调度、内存管理、中断 处理等,而类似于文件系统和网络协议等附加功能则运行在用户空间中,并且可以根据实际 需要进行取舍。这样就大大减小了内核的体积,便于维护和移植。 ? 提高的系统实时性 由于现有的Linux 是一个通用的操作系统,虽然它也采用了许多技术来加快系统的运行 和响应速度,但从本质上来说并不是一个嵌入式实时操作系统。因此,利用Linux 作为底层 操作系统,在其上进行实时化改造,从而构建出一个具有实时处理能力的嵌入式系统,如RT-Linux 已经成功地应用于航天飞机的空间数据采集、科学仪器测控和电影特技图像处理等 各种领域。 嵌入式Linux 同Linux 一样,也有众多的版本,其中不同的版本分别针对不同的需要在内核等方面加入了特定的机制。嵌入式Linux 的主要版本如表4.1所示。 表4.1 嵌入式Linux主要版本 版本简单介绍 μCLinux 开放源码的嵌入式Linux 的典范之作。它主要是针对目标处理器没有存储管理单元 MMU,其运行稳定,具有良好的移植性和优秀的网络功能,对各种文件系统有完备 的支持,并提供标准丰富的API RT-Linux 由美国墨西哥理工学院开发的嵌入式Linux硬实时操作系统。它已有广泛的应用 Embedix 根据嵌入式应用系统的特点重新设计的Linux发行版本。它提供了超过25种的Linux 《嵌入式Linux应用程序开发详解》——第4章、嵌入式系统基础 系统服务,包括Web服务器等。此外还推出了Embedix的开发调试工具包、基于图 形界____________面的浏览器等。可以说,Embedix是一种完整的嵌入式Linux解决方案

嵌入式操作系统-课程教学大纲

嵌入式操作系统课程教学大纲 课程名称:嵌入式操作系统 英文名称:Embedded Operating System 课程类型:专业选修课 总学时及学分:32 适应对象:物联网工程、软件工程、计算机科学技术、网络工程 主要先修课程:C语言程序设计、汇编语言程序设计、数据结构、操作系统、计算机网络、计算机组成 执行日期: 一、课程的性质与任务 课程教学所要达到的目的是:使学生掌握嵌入式系统体系结构,了解典型嵌入式处理器架构,学习嵌入式操作系统内核包括进程调度、进程通信、文件系统、存储管理、网络管理等,了解常见嵌入式操作系统特点及其环境支持下的嵌入式软件开发与应用。 二、课程的教学目标 课程教学所要达到的目的是:让学生学习嵌入式操作系统,了解嵌入式操作系统内核组成; 使学生的获取知识能力、系统认知能力得到提升,培养学生的团队协作能力,锻炼和培养学生锲而不舍、百折不挠的科研品质。 三、教学内容及其基本要求 在学生掌握操作系统知识的基础上,以嵌入式软件的核心——嵌入式操作系统为重点,以应用为目的,使学生对嵌入式系统及开发有一个完整把握,深入理解嵌入式操作系统。结合嵌入式系统知识掌握嵌入式内核,包括进程管理与调度、同步互斥与通信、中断和时间管理、存储管理和适用于嵌入式的文件系统,为学生在嵌入式系统开发中能对内核进行灵活地裁减奠定基础,进而掌握嵌入式软件应用开发。 1嵌入式系统导论 1.1嵌入式系统概述

1.1.1嵌入式系统的发展历程 1.1.2嵌入式系统的特点 1.1.3嵌入式系统的分类 1.2嵌入式系统的应用领域 1.3嵌入式系统的实时性与可靠性1.3.1嵌入式系统的可靠性 1.3.2嵌入式系统的实时性 1.4嵌入式系统的发展趋势 2嵌入式硬件系统 2.1基本组成 2.2嵌入式微处理器 2.3总线 2.4存储器 2.5输入/输出接口设备 3嵌入式软件系统 3.1嵌入式软件系统概述 3.2嵌入式操作系统 3.3嵌入式软件开发工具 4嵌入式操作系统基础 4.1嵌入式操作系统的发展历史4.2嵌入式操作系统的体系结构4.3嵌入式操作系统的构成元素5进程管理与调度 5.1概述 5.2进程管理 5.3进程调度 5.4优先级反转 5.5多处理器调度 6进程通信

LInux 嵌入式操作系统期末试题

1.简答题:请简单概括什么是嵌入式系统、并举出嵌入式系统的特点;(6分) 答: 嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可剪裁,适用于应用系统,对功能、可靠性、成本、体积、功耗等方面有特殊要求的专用计算机系统; 其特点如下: (1)嵌入式系统是面向特定系统应用的。 (2)嵌入式系统涉及计算机技术、微电子技术、电子技术、通信和软件等各个行业; 是一个技术密集、资金密集、高度分散、不断创新的知识集成系统; (3)嵌入式系统的硬件和软件都必须具有高度可定制性;只有这样才能适应嵌入式系 统应用的需要,在产品价格和性能方面具备竞争力; (4)嵌入式系统的生命周期相当长。 (5)嵌入式系统不具备本地系统开发能力,通常需要有一套专门的开发工具和环境。 2.嵌入式操作系统的优势:1.低成本开发系统 2.可应用多种硬件平台 3.可定制内核 4. 性能优异 5.良好的网络支持 3.linux文件类型:1.普通文件 2.目录文件 3.链接文件 4.设备文件 a.块设备文件(硬 盘:/dev/hda1)b.字符设备(串行端口接口设备) 4.linux文件属性:访问权限:r:可读w:可写x:可执行用户级别:u:文件拥有者g:所 属用户组 o:其他用户第一个字符显示文件类型:-普通d目录 l 链接… 5.简答题:(6分) linux目录结构:/bin 存放linux常用操作命令的执行文件(二进制文件) /boot 操作系统启动时所需要的程序 /dev Linux系统中使用的外部设备 /etc 系统管理时所需要的各种配置文件和子目录 /etc/rc.d Linux启动和关闭时要用到的脚本 /etc/rc.d/init Linux默认服务的启动脚本 /home 系统中默认用户工作根目录 /lib 存放系统动态链接共享库 /mnt软驱、光驱、硬盘的挂载点 /proc存放系统核心与执行程序所需信息、 /root超级用户登陆时的主目录 /sbin 存放管理员常用系统管理程序 /usr存放用户应用程序和文件 /var存放日志信息(答六点即可) 6.编写一个shell文件:创建studen01 –student30这30个用户,用户组为class1,之 后编写shell文件,删除所有用户

五大适合STM32的嵌入式操作系统

五大适合STM32的嵌入式操作系统 基于STM平台且满足实时控制要求操作系统,有以下5种可供移植选择。分别为μClinux、μC/OS-II、eCos、FreeRTOS和都江堰操作系统(djyos)。下面分别介绍这五种嵌入式操作系统的特点及不足。1、μClinuxμClinux是一种优秀的嵌入式Linux版本,其全称为micro-control Linux,从字面意思看是指微控制Linux。同标准的Linux相比, μClinux的内核非常小,但是它仍然继承了Linux操作系统的主要特性,包括良好的稳定性和移植性、强大的网络功能、出色的文件系统支持、标准丰富的API,以及TCP/IP网络协议等。因为没有MMU内存管理单元,所以其多任务的实现需要一定技巧。 μClinux在结构上继承了标准Linux的多任务实现方式,分为实时进程和普通进程,分别采用先来先服务和时间片轮转调度,仅针对中低档嵌入式CPU特点进行改良,且不支持内核抢占,实时性一般。 在内存管理上由于μClinux是针对没有MMU的处理器设计的,不能使用处理器的虚拟内存管理技术,只能采用实存储器管理策略。系统使用分页内存分配方式,在启动时对实际存储器进行分页。系统对内存的访问是直接的,操作系统对内存空间没有保护,多个进程可共享一个运行空间,所以,

即使是一个无特权进程调用一个无效指针也会触发一个地 址错误,并有可能引起程序崩溃甚至系统崩溃。 μClinux操作系统的中断管理是将中断处理分为两部分:顶半处理和底半处理。在顶半处理中,必须关中断运行,且仅进行必要的、非常少、速度快的处理,其他处理交给底半处理;底半处理执行那些复杂、耗时的处理,而且接受中断。因为系统中存在有许多中断的底半处理,所以会引起系统中断处理的延时。 μClinux对文件系统支持良好,由于μClinux继承了Linux完善的文件系统性能,它支持ROMFS、NFS、ext2、MS-DOS、JFFS等文件系统。但一般采用ROMFS文件系统,这种文件系统相对于一般的文件系统(如ext2)占用更少的空间。但是ROMFS文件系统不支持动态擦写保存,对于系统需要动态保存的数据须采用虚拟RAM盘/JFFS的方法进行处理。在对硬件的支持上,由于μClinux继承了Linux的大部分性能,所以至少需要512KB的RAM空间,lMB的ROM/Flash 空间。 在μClinux的移植方面,。μClinux是Linux针对嵌入式系统的一种改良,其结构比较复杂。移植μClinux,目标处理器除了需要修改与处理器相关的代码外,还需要足够容量的外部ROM和RAM。 综上可知,μClinux最大特点在于针对无MMU处理器设计,

嵌入式操作系统的种类与特点

1.3.1 嵌入式操作系统的种类、特点与发展 1.嵌入式操作系统的种类 一般情况下,嵌入式操作系统可以分为两类: 非实时操作系统:面向消费电子产品等领域,这类产品包括个人数字助理(PDA)、移动电话、机顶盒、电子书等。 实时操作系统RTOS(Real-Time Embedded Operating System):面向控制、通信等领域,如windriver公司的vxworks、isi的psos、qnx系统软件公司的qnx等。 (1)非实时操作系统 早期的嵌入式系统中没有操作系统的概念,程序员编写嵌入式程序通常直接面对裸机及裸设备。在这种情况下,通常把嵌入式程序分成两部分,即前台程序和后台程序。前台程序通过中断来处理事件,其结构一般为无限循环;后台程序则掌管整个嵌入式系统软、硬件资源的分配、管理以及任务的调度,是一个系统管理调度程序。这就是通常所说的前后台系统。一般情况下,后台程序也叫任务级程序,前台程序也叫事件处理级程序。在程序运行时,后台程序检查每个任务是否具备运行条件,通过一定的调度算法来完成相应的操作。对于实时性要求特别严格的操作通常由中断来完成,仅在中断服务程序中标记事件的发生,不再做任何工作就退出中断,经过后台程序的调度,转由前台程序完成事件的处理,这样就不会造成在中断服务程序中处理费时的事件而影响后续和其它中断。 实际上,前后台系统的实时性比预计的要差。这是因为前后台系统认为所有的任务具有相同的优先级别,即是平等的,而且任务的执行又是通过FIFO队列排队,因而对那些实时性要求高的任务不可能立刻得到处理。另外,由于前台程序是一个无限循环的结构,一旦在这个循环体中正在处理的任务崩溃,使得整个任务队列中的其它任务得不到机会被处理,从而造成整个系统的崩溃。由于这类系统结构简单,几乎不需要RAM/ROM的额外开销,因而在简单的嵌入式应用被广泛使用。 (2)实时操作系统 所谓实时性,就是在确定的时间范围内响应某个事件的特性。而实时系统是指能在确定的时间内执行其功能并对外部的异步事件做出响应的计算机系统。其操作的正确性不仅依赖于逻辑设计的正确程度,而且与这些操作进行的时间有关。“在确定的时间内”是该定义的核心。也就是说,实时系统是对响应时间有严格要求的。 实时系统对逻辑和时序的要求非常严格,如果逻辑和时序出现偏差将会引起严重后果。实时系统有两种类型:软实时系统和硬实时系统。软实时系统仅要求事件响应是实时的,并不要求限定某一任务必须在多长时间内完成;而在硬实时系统中,不仅要求任务响应要实时,而且要求在规定的时间内完成事件的处理。通常,大多数实时系统是两者的结合。实时应用软件的设计一般比非实时应用软件的设计困难。实时系统的技术关键是如何保证系统的实时性。实时操作系统可分为可抢占型和不可抢占型两类。 嵌入式实时操作系统在目前的嵌入式应用中用得越来越广泛,尤其在功能复杂、系统庞大的应用中显得愈来愈重要。 从某种意义上说,没有操作系统的计算机(裸机)是没有用的。在嵌入式应用中,只有把CPU嵌入到系统中,同时又把操作系统嵌入进去,才是真正的计算机嵌入式应用。 操作系统的实时性在某些领域是至关重要的,比如工业控制、航空航天等领域。想像飞机正在空中飞行,如果嵌入式系统不能及时响应飞行员的控制指令,那么极有可能导致空难事故。有些嵌入式系统应用并不需要绝对的实时性,比如PDA播放音乐,个别音频数据丢失并不影响效果。这可以使用软实时的概念来衡量。

浅谈嵌入式系统的现状及发展前景

课程考核论文 课程名称信息学导论 学生姓名曾文静 学号1141304067 系、专业信息工程系电子科学与技术专业 2013年6 月15 日

浅谈嵌入式系统的现状及发展前景 摘要:从嵌入式系统的含义、特点、开发平台及其工业特征出发 ,深入阐述了嵌入式计算机技术的发展现状 ,展望了嵌入式系统产业在我国的广阔发展前景景。 1. 嵌入式系统的发展趋势及典型应用产品 在现在日益信息化的社会中,计算机和网络已经全面渗透到日常生活的每一个角落。对于我们每个人,需要的已经不再仅仅是那种放在桌上处理文档,进行工作管理和生产控制的计算机"机器";各种各样的新型嵌入式系统设备在应用数量上已经远远超过通用计算机,任何一个普通人可能拥有从大到小的各种使用嵌入式技术的电子产品,小到mp3,PDA等微型数字化产品,大到网络家电,智能家电,车载电子设备。而在工业和服务领域中,使用嵌入式技术的数字机床,智能工具,工业机器人,服务机器人也将逐渐改变传统的工业和服务方式。 近几年,嵌入式系统产品日臻完善,并在全世界各行业得到广泛应用。嵌入式系统产品的研制和应用已经成为我国信息化带动工业化、工业化促进信息化发展的新的国民经济增长点。 随着信息化、智能化、网络化的发展,嵌入式技术将全面展开,现在嵌入式已经成为通信和消费类产品的共同发展方向。总体来说,嵌入式系统分别在硬件和软件方面获得发展。嵌入式系统必将成为当今IT界的又一焦点,开发自主知识产权的嵌入式处理器和嵌入式操作系统,对于我们国家的民族IT产业来讲具有十分重要的战略意义。从国内IT市场来看,嵌入式系统及其产品在由家电产品和Internet衍生出来的新型市场中占有主导地位和独特份额。 在消费家电的智能化的今天,嵌入式更显重要。像我们平常见到的手机、PDA、电子字典、可视电话、VCD/DVD/MP3Player、数字相机(DC)、数字摄像机(DV)、U-Disk 、机顶盒(Set Top Box)、高清电视(HDTV )、游戏机、智能玩具、交换机、路由器、数控设备或仪表、汽车电子、家电控制系统、医疗仪器、航天航空设备等等,都是典型的嵌入式系统。据预测,随着Internet的迅速发展和廉价微处理器的出现,嵌入式系统将在日常生活里形成更大的应用领域。 例如,行车称重无线遥测调度系统:由贵溪冶炼厂和北京市自动化系统成套工程公司合作开发,用在贵溪冶炼车间。具体要求为系统前端由安装在行车上的行车工作站(3台)构成,行车工作站将行车称重信号转换成数字信号,并将采集的数字信号经

嵌入式操作系统期末考试答案

填空 1、嵌入式系统是以应用为中心、以计算机技术为基础、软硬件可裁剪、适用于应用系统,对(功能)、(可靠性)、(成本)、(体积)、(功耗)严格要求的专用计算机系统。 2、嵌入式系统开发采用的交叉开发环境是由(宿主机)和(目标机)组成的。 3、挂载设备到文件系统的命令是(mount),从文件系统中卸载设备命令是(umounts)。 4、在系统提示符号输入vi及文件名称后,就进入vi全屏幕编辑画面,进入vi之后,是处于 (命令)模式,要切换到(编辑)模式才能够输入文字。 5、GCC的编译流程分为4个步骤,分别为:(预处理),编译,(汇编),链接。 6、Linux系统的设备分为三类:(字符设备)、(块设备)和网络设备。 7、操作系统的功能包(处理机管理)、(存储管理)、(设备管理)、(信息管理)、(作业管理)。 选择 1、下面哪点不是嵌入式操作系统的特点。(C) (A)内核精简(B)专用性强(C)功能强大(D)高实时性 2、嵌入式Linux下常用的文件系统不包括以下哪一项(A) (A)nfs(B)romfs(C)yaffs(D)jffs 3、下面关于Shell的说法,不正确的是:(D) (A)操作系统的外壳(B)用户与Linux内核之间的接口程序(C)一个命令语言解释器(D)一种和C语言类似的程序语言 4、在Bootloader()模式下,目标机可以通过通信手段从主机更新系统。(B) (A)启动加载模式(B)下载模式(C)实时模式(D)保护模式 5、文件exer1的访问权限为rw-r--r--,现要增加所有用户的执行权限和同组用户的写权限,下列命令正确的是: (A) (A)chmoda+xg+wexer1(B)chmod765exer1(C)chmodo+xexer1(D)chmodg+wexer1 6、在vi编辑环境中,下面()选项不是从命令行模式切换到插入模式。(C) (A)i(B)o(C)ESC(D)a 7、shell变量名命名中不包括()。(D) (A)字母(B)数字(C)下划线(D)括号 8、下列关于字符设备说法不正确的是()。(C) (A)以字节为单位逐个进行I/O操作(B)字符设备中的缓存是可有可无的 (C)支持随机访问(D)字符设备可以通过设备文件节点访问 9、以下哪一项是是硬盘设备文件()。(B) (A)fd0(B)hda(C)eth1(D)ht0 10、共享内存通信机制的缺点是()。(B) (A)需要花费额外的内存空间(B)需要使用额为的同步机制 (C)需要额外硬件支持(D)通信过程中需要反复读取内存,时间开销大 简答题 1.嵌入式操作系统在哪些方面较为突出的特点并请列举出4种目前较常用的手机嵌入 式操作系统。 四个方面:系统实时高效性硬件的相关依赖性软件固态化应用的专用性 四种手机操作系统:Window Mobile SymbianOSAndriod OSE

相关文档
最新文档