文档库 最新最全的文档下载
当前位置:文档库 › 嵌入式实时多任务操作系统

嵌入式实时多任务操作系统

嵌入式实时多任务操作系统
嵌入式实时多任务操作系统

单片机系统中的多任务多线程机制的实现

文章作者:冉全章涤峰

文章类型:设计应用文章加入时间:2003年9月9日0:47

文章出处:单片机与嵌入式系统应用

摘要:单片机系统的开发多情况下不是在嵌入式操作系统平台上进行的,而是直接基于

处理器编写。在多任务并行执行的要求下,可以借鉴操作系统中的任务和线程机制,对资

源和处理器合理进行调度。本文以实例对此进行讨论。

关键词:单片机任务线程并行处理

引言

首先要指出的是一点是,我们不是讨论嵌入式实时多任务操作系统(RTOS)的设计。我们讨论的是,在不使用RTOS的控制系统中,如何体现多任务多线程机制的程序设计思想。

一些嵌入式设备可以需要操作系统,例如掌上电脑、PDA、网络控制器等高性能的手持设备和移动设备。它们往往和无线通信、互联网访问和多媒体处理

等复杂而强大的功能联系在一起;对CPU要求也很高,往往是以通用CPU为原

型的各种高端嵌入式处理器。

作为一个完整的操作系统,RTOS有一个可靠性很高的实时内核,将CPU时间、中断、I/O、定时器等资源都包括起来,留给用户一个标准的应用程序接口(API);根据各个任务的优先级,合理地在不同任务之间分配CPU的时间,保证程序执行的实时性、可靠性。内核一般都能提供任务调度和中断服务等功能,部分高档商业化产品,如Windows XP Embedded,甚至支持32位地址空间、虚

拟存储管理、多进程以及嵌入式操作系统中不多见的动态链接库(DLL)。对于这些RTOS来说,多任务实时处理不是件困难的事情。

但更多的情况下,用户使用的是另一类CPU——微控制器,即单片机,往往是按照某一流程执行单一任务。出于成本和技术上的原因,这类软件开发多数

还是基于处理器直接编写,没有选配实时多任务操作系统作为开发平台,也不

需要将系统软件和应用软件分开处理。但是在实际应用中,有时也会面临同时处理多个并行任务的要求,这就需要安排一种运行机制,来模拟RTOS中的处理方法。

1 RTOS中的设计思想

单处理机多道程序系统具有如下特征:

①从宏观上看,几种程序“同时运行”。即它们先后开始了各自的运行,且均未结束。

②从微机上看,几道程序“交替执行”。对于单处理机系统而言,它们只能轮流地占用CPU。

其实质是指几道程序在处理机中“交替执行”。我们按照现在常用的方法,把一道程序和一个任务对应,把任务中的每个分开的、独立执行的部分称之为线程。

具体到RTOS来说,一方面,实时操作中的多任务引起的并发性和实时性,要求操作系统对资源分配具有更强的控制能力。通常的办法是采取设立前台与后台两个作业的分配办法。前台作业中包含实时采集、控制、处理有关的任务,任务优先级较高;后台作业一般是对数据进行分析、输出数据、响应操作员请求等任务,优先级较低。后台作业中与后台作业并非完全孤立的;后台作业所需数据由前台作业存储共享内存区内,作业之间通过共享存储区进行数据交换。

另一方面,实时任务总是由某个事件发生或时间条件满足来激活。事件有两种:内部事件和外部事件。时间驱动也有两种:按绝对时间驱动和按相对时间驱动。内部事件驱动是指某一程序运行的结果导致另一任务的启动,这个结果可能是数据满足一定条件,也可能是释放了某一资源;而最典型的实时任务是由外部事件驱动的。在实时系统中,外部事件发生有时是不可预测的,由外部事件驱动的任务一般是需要立即执行的任务,它的优先级最高。绝对时间驱动是指在某指定时刻执行的任务,也就是在自然时钟的绝对时间执行。相对时间驱动是指周期性执行的任务,总是相对上一次执行时间计时,执行时间间隔一定。除了周期性任务外,还有一些同步任务也可能由相对时间驱动,如等待某种条件到来。等待时间是编程设定的。相对时间可用计算机内部时钟或软件计时。

图2 独立并行任务

我们在实时设计当中,这两方面的问题都有所体现,所有的事件驱动和时间驱动都体现在设置相应的任务标识和线程标识。从后面的讨论中可以看出,当硬件环境一定时,依据这些标识,通过安排系统内中断响应方式和调整任务调度算法,可以有效解决多任务并行问题,因为系统的实时性主要取决于这两点。

2 多任务多线程机制的实现

我们设计的对象是双通道和四通道测试的某型医用检验设备。每个通道可以置入样本,设置不同的测试项目,完成测试后输出不同的测试结果和附加的计算结果。

常规的处理方法是这样的:和通道只能测试同一个项目,按统一步骤同步执行各任务的相同阶段,其处理示意如图1。为简化起见,我们用双通道进行说明。

显然,这样做不仅会失去测试的灵活性,例如不能同时测量不项目,不过随意在不同通道中测试不同版本,即使有空余通道也不能在上一样本测试过程中启动下一样本的测试;而且还牺牲效率,浪费时间,因为要等每个阶段最慢的一个处理完才能进入下一阶段。这其实是单任务的多次简单重复,设计也容易。国内很多类似产品采用了这种方案,但我们放弃了。

我们选择了安全并行的设计,即要求所有通道可以完全独立工作;任意启动和停止;彼此没有约速;时间上可以任意重叠;是几个独立的任务,如图2。

这里我们把每一个启动通道进行测试的程序叫做一个任务,把各自任务下的每一个单独的、分开处理的程序段叫做一个线程,每个线程依靠自己的标识来识别。一个通道的测试任务可分为启动、设置、加样品、预温计时、加试剂与搅拌、通道轮流采样、数据处理和作图打印等多个线程。另外,有一个温度的实时监控独立线程,它的优先级要次于通道的测试采样。

图3 前台控制流程1----void Xlnt0() interrupt0

这些线程可分属于前台和后台两类:前台主要是一些中断的处理,例如两路温度的实时监控、每100ms内的各通道循环检测一遍、采用中断方式的键盘干预等;后台主要是扫描方式下响应操作员的按键请求、数据处理、图形显示、打印报告等内容。

整个实现机制可以简单地概括如下:前台通过合理安排中断的响应和服务方式来对多个任务的实时线程进行处理;后台操作主要以循环方式扫描各个任务的线程标识,满足条件的线程被激活予以处理。

限于篇幅,不可能详细介绍整个设计方案,在此只能给出各测试通道工作任务的前台和后台线程划分及流程,供参考。然后,给出一个中断退出后返回到任意地址的函数,它比C51自己的setjmp和longjmp全程跳转函数的使用要方便很多。实时任务中,中断服务结束后不是返回到断点地址执行原有程序,而是强制返回到某一地址执行新程序的情况非常普遍。我们采用设置环境变量的方法,使中断退出后可以任意返回到多个设置入口中的某一个去执行,有效地解决了前台和后台任务线程的灵活切换这一关键问题。我们使用的CPU是

97C52,编程语言为Keil C51 6.0版。

图3是主定时器中断服务,12C887提供中断请求信号至int0。12C887的三个中断触发服务中,温度扫描是独立线程,四次500ms“周期中断”(即每

2s)后执行一遍;需要屏幕显示预温侄计时的时候使用“更新中断”,每秒一次,各测试任务,其倒计时线程依靠各自的标识启动和停止;“报警中断”需要时设置为每分钟1次,用于主菜单界面显示当前时间和长定时的返回。

图4是CPU内部定时器0的中断服务,用于A/D转换。每个测试任务的A/D 分为两个线程:检测试剂加入和测试剂样品的反应曲线,虽然都是通过对光学传感器和输出进行检测的,但处理方法完全不同,数据量也很不一样。定时器0设定为每100ms中断1次,因为要用高精度∑-Δ转换器件,CPU必须直接控制器件的整个转换过程,所以,要注意所有通道轮扫一遍A/D的时间不能超过100ms。

图5为后台流程。后台程序依靠通道按键启动一个测试任务,然后进行该任务预处理,类似初始化的一些功能。如果这期间又启动别的任务,则未初始化完的先前任务中止。

图4 前台控制流程2----void time0() interrupt 1

初始化完成后进入多任务所属线程的循环处理阶段,其间可以随时由通道按键引起的中断来加入新的任务,每个线程的调度标识可以由相关的前台线程给出,也可来自相关的后台线程。配合Getadd()和Putadd()从中断强制返回某地此后,使用跳转语句到真正的目标地址。

最后给出强制返回程序代码(供参考):

/*保存当前地址信息到环境变量JMPEnv[env1][]中,每个变量由三项组成,env1是二维下标参数*/

void getadd(unsigned char env1)

{unsigned char temp;

temp=SP;

JMPEnv[env1][0]=(*((unsigned char idata*)SP));

temp--;

JMPEnv[env1][1]=(*((unsigned char idata*)temp));

JMPEnv[env1][2]=SP-2;

}

/*置中断返回的任意跳转地址*/

void putadd(unsigned char env1)reentrant

{ unsigned char temp[15];char i;

/*下面保存进入中断程序时的压栈值*/

for(i=0,i<15;i++)

{temp[i]=(*((unsigned char idata*)SP));

SP--;

}

/*放置新地址*/

SP=JMPEnv[env1][2];SP++;

(*((unsigned char idata*)SP)=JMPEnv[env1][1];SP++;(*((unsigned char idata*)SP))=JMPEnv[env1][0];

/*恢复中断开始时的那些压栈值*/

for(i=14;i>=0;i--)

{SP++;

(*((unsigned char idata*)SP))=temp[i];

}

}

结语

限于篇幅,不可能详述任务、线程和标识的细节,仅提出一种单片机等嵌入式控制系统对多任务进行实时处理的一种思想;借鉴于主流操作系统中的多任务和多线程机制。实践证明,这种想法是行之有效的,并且取得了很好的效果。

虽然我们研制的系统是对多个相同的任务进行并行处理,但该种设计方法应该可以推广到多种不同性质的实时任务的并行处理当中去。

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

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

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

嵌入式操作系统简介以及发展史 导语:嵌入式操作系统离我们生活并不远,甚至我们生活中处处都可见,比如各种路由器,机顶盒,洗衣机,空调,手机等。嵌入式操作系统的定义: 嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可裁减,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用操作系统。嵌入式系统的发展:嵌入式操作系统并不是一个新生的事物,从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、总线仲裁方式可分为集中式仲裁和分布式仲裁。

嵌入式实时操作系统

嵌入式实时操作系统 嵌入式实时操作系统(Embedded Real-time Operation System,RTOS)。 1 嵌入式实时操作系统概念 当外界事件或数据产生时,能够接受并以足够快的速度予以处理,其处理的结果又能在规定的时间之内来控制生产过程或对处理系统作出快速响应,并控制所有实时任务协调一致运行的嵌入式操作系统。 2 嵌入式实时操作系统特点 1)多任务; 2)有线程优先级 3)多种中断级别 3 嵌入式实时操作系统应用 在工业控制、军事设备、航空航天等领域对系统的响应时间有苛刻的要求,这就需要使用实时系统。 采用嵌入式实时操作系统(简称RTOS)能够支持多任务,使得程序开发更加容易,便于维护,同时能够提高系统的稳定性和可靠性。

4 实时操作系统的必要性: 首先,嵌入式实时操作系统提高了系统的可靠性。 其次,提高了开发效率,缩短了开发周期。 实时操作系统的优缺点: 在嵌入式实时操作系统环境下开发实时应用程序使程序的设计和扩展变得容易,不需要大的改动就可以增加新的功能。通过将应用程序分割成若干独立的任务模块,使应用程序的设计过程大为简化;而且对实时性要求苛刻的事件都得到了快速、可靠的处理。通过有效的系统服务,嵌入式实时操作系统使得系统资源得到更好的利用。但是,使用嵌入式实时操作系统还需要额外的ROM/RAM 开销,2~5% 的CPU 额外负荷,以及内核的费用。 5 实时系统与非实时系统的根本区别 实时系统与非实时系统的根本区别在于:实时系统具有与外部环境及时交互作用的能力。也就是说实时系统从外部获取信息以及系统得出结论要在很短的限制时间内完成。 它具有嵌入式软件共有的可裁剪、低资源占用、低功耗等特点;实时任务之间可能还会有一些复杂的关联和同步关系,如执行顺序限制、共享资源的互斥访问要求等。 实时操作系统所遵循的最重要的设计原则是:采用各种算法和策略,始终保证系统行为的可预测性(predictability)。可预测性是指在系统运行的任何时刻,在任何情况下,实时操作系统的资源调配策略都能为争夺资源(包括CPU、内存、网络带宽等)的多个实时任务合理地分配资源,使每个实时任务的实时性要求都能得到满足。与通用操作系统不同,实时操作系统注重的不是系统的平均表现,而是要求每个实时任务在最坏情况下都要满足其实时性要求,也就是说,实时操作系统注重的是个体表现。

基于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期

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

嵌入式操作系统的发展现状 【摘要】嵌入式操作系统是一种用途广泛的系统软件,负责嵌入系统的全部软、硬件资源的分配和调度工作,它必须体现其所在系统的特征,能够通过装卸某些模块来达到系统所要求的功能。随着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解决方案

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文件,删除所有用户

嵌入式实时操作系统之我见

嵌入式实时操作系统之我见 -ARM7TDMI-S 王士莹 -----从基本概念、基本原理、基本常识、基本思维入手阐述嵌入式实时操作系统在单片机开发中,嵌入式实时操作系统的使用近几年比较流行,在具体应用中也有比较好的表现。那么对于一个应用来讲,应该选择那种操作系统呢?目前,可供选择的有uLinux、VxWorks、uCOS-II等。我们当然可以选择其中的一个根据需要移植到自己的设计中。但对于一个工程师来说,能够在设计中使用自己编写的嵌入式实时操作系统岂不是一件“很酷”的事情吗?而且,我认为,若要较好的理解一个嵌入式实时操作系统,首先要能够自己编写,哪怕是一个最简单的。否则,不知道核心原理是怎么回事,仅仅依样画葫芦做做移植,只是隔靴搔痒,只会是门外汉。 这篇文章就是根据我所理解的嵌入式操作系统,就几个问题做一个阐述,以期抛砖引玉。 1、为什么要用嵌入式实时操作系统,嵌入式实时操作系统较前后台结构有什么优势 单片机程序结构发展 任务的驱动方式有两种:时间和事件,所以对一个单片机程序来说它要等待的量也是只有两个:延迟时间到或事件发生。故操作系统只要安排任务等待着这两个标志就好。那么如何产生这两个标志呢,标志产生在中断中,然后在中断中发给需要的任务。 多功能块任务:在一个任务中有等待的时间或事件,等到后再执行后面程序的任务。在任务等待的时候单片机可以离开该任务去执行其他任务,该任务等待

完成后再回来继续运行。这样使用操作系统就提高了系统整体的运行效率。 单片机执行全局的东西,操作系统通过把全局的资源赋值成局部的任务让单片机执行了看似全局的实则是局部的东西,这样就实现了任务的调度和切换对于单功能块任务,即一个任务中没有需要等待的时间或事件,程序连续地从头执行到尾,对于这样的任务操作系统的作用不大。 2、单片机编程有哪些特点、会有哪些问题和需求、操作系统如何根据特点解决问题满足需求 一般单片机系统中不会只运行一个单一的任务,往往有多个方面的工作要做,如对一个仪器仪表来讲,它要做的工作有:测量、显示、存储、通讯、控制等。这些工作需要同一个单片机来完成,那如何对他们进行安排才能使一个单片机执行多个任务呢? 打个比方:单片机就像一支建筑队,在这个建筑队里面有管理、财务、技术、工人、后勤等,他们各司其职、共同协作完成一个建筑工程。正常情况下,一支建筑队在一个时间段只能做一个工程,若再有工程要做,只能等这次的工程完成后才能去。现在的情况是:建筑市场异常火爆,有大量的工程要做,而该地区的建筑队数量只有这1支。那怎么办呢?一般的做法是:给每个工程排好顺序定好工期,做完第一个再做第二个再做第三个及其他。如果这样安排,顺利还好,如果不顺利就会发生这样的事:第三个工程所有的东西都已准备好,而且这个工程的建筑物急等着用,但建筑队却由于第二个工程的资金短缺或其它原因耽误了工期而迟迟不能到来。出现这样的事情是不应该的,那怎样安排工作才能避免这样的事情呢?我们可以这样做:1支建筑队同时承包多个工程,并同建筑单位定好协议:当一个工程由于资金或其他原因不能继续时,建筑队可以暂时离开去其他工地。这样当2号工程资金不到位时,建筑队把该工程的必要信息记录下来并保存起来,然后离开2号工程的工地去3号工程的工地;如果3号工程已经开始了,则建筑队把之前保存的信息取出来按照信息上的说明继续下面的工作,若3号工程也有其他事情需要等待了,则建筑队保存好记录后再去其他工地。这样,建筑队就总是在做工程而不会出现空闲,实现了效率的最大化!这种安排工作的方法就是建筑队版的“嵌入式实时操作系统”!

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

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

(完整版)通用PC系统与嵌入式系统的区别

通用PC系统与嵌入式系统的区别.txt精神失常的疯子不可怕,可怕的是精神正常的疯子!一什么是嵌入式系统 嵌入式系统一般指非pc系统,有计算机功能但又不称之为计算机的设备或器材。它是以应用为中心,软硬件可裁减的,适应应用系统对功能、可靠性、成本、体积、功耗等综合性严格要求的专用计算机系统。简单地说,嵌入式系统集系统的应用软件与硬件于一体,类似于pc中bios的工作方式,具有软件代码小、高度自动化、响应速度快等特点,特别适合于要求实时和多任务的体系。嵌入式系统主要由嵌入式处理器、相关支撑硬件、嵌入式操作系统及应用软件系统等组成,它是可独立工作的“器件”。 嵌入式系统几乎包括了生活中的所有电器设备,如掌上pda、移动计算设备、电视机顶盒、手机上网、数字电视、多媒体、汽车、微波炉、数字相机、家庭自动化系统、电梯、空调、安全系统、自动售货机、蜂窝式电话、消费电子设备、工业自动化仪表与医疗仪器等。 嵌入式系统的硬件部分,包括处理器/微处理器、存储器及外设器件和i/o端口、图形控制器等。嵌入式系统有别于一般的计算机处理系统,它不具备像硬盘那样大容量的存储介质,而大多使用eprom、eeprom或闪存 (flash memory)作为存储介质。软件部分包括操作系统软件(要求实时和多任务操作)和应用程序编程。应用程序控制着系统的运作和行为;而操作系统控制着应用程序编程与硬件的交互作用。 二嵌入式处理器 嵌入式系统的核心是嵌入式微处理器。嵌入式微处理器一般具备4个特点:(1)对实时和多任务有很强的支持能力,能完成多任务并且有较短的中断响应时间,从而使内部的代码和实时操作系统的执行时间减少到最低限度;(2)具有功能很强的存储区保护功能,这是由于嵌入式系统的软件结构已模块化,而为了避免在软件模块之间出现错误的交叉作用,需要设计强大的存储区保护功能,同时也有利于软件诊断;(3) 可扩展的处理器结构,以能迅速地扩展出满足应用的高性能的嵌入式微处理器;(4)嵌入式微处理器的功耗必须很低,尤其是用于便携式的无线及移动的计算和通信设备中靠电池供电的嵌入式系统更是如此,功耗只能为mw 甚至μw级。 据不完全统计,目前全世界嵌入式处理器的品种总量已经超过1000种,流行的体系结构有30 多个系列。其中8051体系占多半,生产这种单片机的半导体厂家有20多个,共350多种衍生产品,仅philips就有近100种。现在几乎每个半导体制造商都生产嵌入式处理器,越来越多的公司有自己的处理器设计部门。嵌入式处理器的寻址空间一般从64kb到16mb,处理速度为 0.1~2000mips,常用封装8~144个引脚。 根据现状,嵌入式计算机可分成下面几类: (1)嵌入式微处理器(embedded microprocessor unit, empu) 嵌入式微处理器采用“增强型”通用微处理器。由于嵌入式系统通常应用于环境比较恶劣的环境中,因而嵌入式微处理器在工作温度、电磁兼容性以及可靠性方面的要求较通用的标准微处理器高。但是,嵌入式微处理器在功能方面与标准的微处理器基本上是一样的。根据实

嵌入式实时操作系统中实时调度算法综述

嵌入式实时操作系统中实时调度算法综述 摘要:实时调度是指在有限的系统资源下,为一系列任务决定何时运行,并分配任务运 行除CPU之外的资源,以保证其时间约束、时序约束和资源约束得到满足。一个实时系统可以由单处理器系统来实现,也可以用多处理器系统来实现。实时调度算法是保障实时系统时限性和高可靠性的最重要手段之一。 关键词:嵌入式;实时操作系统;实时调度算法;RTOS;RMS 引言 嵌入式系统在当今的生产和生活中得到了广泛的应用,鉴于嵌入式实时系统的特点,要求任务调度等实时内核功能精简和高效。综合了EDF 和RM调度策略的CSD 调度策略,更加适合嵌入式系统的特点,满足其内核的要求。任务调度策略是实时系统内核的关键部分,如何进行任务调度,使得各个任务能在其期限之内得以完成是实时操作系统的一个重要的研究领域。它的精简和高效,对提高低处理能力,小内存系统整体性能具有重大的意义。 RTOS概述 RTOS,即:实时系统(Real-time operating system),实时系统能够在指定或者确定的时间内完成系统功能和外部或内部、同步或异步时间做出响应的系统。它的正确性不仅依赖系统计算的逻辑结果,还依赖于产生这个结果的时间。因此实时系统应该在事先先定义的时间范围内识别和处理离散事件的能力;系统能够处理和储存控制系统所需要的大量数据。对一般的程序来说,大多数是考虑指令执行的逻辑顺序,指令何时执行并不重要。而对实时应用系统的程序就不一样,当外部某激励出现时,系统必须以一定的方式和在限定的时间内响应它,如果已超时,那怕执行结果是正确的,系统也认为是失效的。实时操作系统通常被分为软实时操作系统和硬实时操作系统。前者意味着偶尔错过时限是可以容忍的;后者意味着执行过程不但必须正确而且必须准时。在实时操作系统中,系统将程序分成许多任务(或进程),而每个任务的行为都预先可知,或者是有明确的功能,系统根据一定的调度原则,决定谁可取得执行权,这就是RTOS的核心所在。 实时调度算法 实时调度算法可以分为4类:单处理器静态调度算法、多处理器静态调度算法、单处理器动态调度算法、多处理器动态调度算法。下面分别分析嵌入式操作系统中采用的各种调度方法,以及这些调度方法是如何满足实时性应用的实时要求的。 1 速率单调算法 速率单调算法是一个经典的算法,它是针对那些响应和处理周期性事件的实时任务的,它事先为每个这样的实时任务分配一个与事件频率成正比的优先级。 实现时,就绪队列中的所有任务按照优先级Priority排队,优先级最高的任务排在队首,当处于运行态的任务,由于某种原因挂起时,只要把就绪队列的首元素从就绪队列中取下,使运行任务指针pRunTask指向该元素即可,如果是处于其他状态的任务变为就绪状态,而挂

相关文档
相关文档 最新文档