当前位置:文档之家› 嵌入式实时操作系统(uCOS_II)详解

嵌入式实时操作系统(uCOS_II)详解

实时操作系统报告

实时操作系统课程实验报告 专业:通信1001 学号:3100601025 姓名:陈治州 完成时间:2013年6月11日

实验简易电饭煲的模拟 一.实验目的: 掌握在基于嵌入式实时操作系统μC/OS-II的应用中,基于多任务的模式的编程方法。锻炼综合应用多任务机制,任务间的通信机制,内存管理等的能力。 二.实验要求: 1.按“S”开机,系统进入待机状态,时间区域显示当前北京时间,默认模式“煮饭”; 2.按“C”选择模式,即在“煮饭”、“煮粥”和“煮面”模式中循环选择; 3.按“B”开始执行模式命令,“开始”状态选中,时间区域开始倒计时,倒计时完成后进入“保温”状态,同时该状态显示选中,时间区域显示保温时间; 4.按“Q”取消当前工作状态,系统进入待机状态,时间区域显示北京时间,模式为当前模式; 5.按“X”退出系统,时间区域不显示。 6.煮饭时长为30,煮粥时长为50,煮面时长为40. 三.实验设计: 1.设计思路: 以老师所给的五个程序为基础,看懂每个实验之后,对borlandc的操作有了大概的认识,重点以第五个实验Task_EX为框架,利用其中界面显示与按键扫描以及做出相应的响应,对应实现此次实验所需要的功能。 本次实验分为界面显示、按键查询与响应、切换功能、时钟显示与倒计时模块,综合在一起实验所需功能。 2.模块划分图: (1)界面显示: Main() Taskstart() Taskstartdispinit() 在TaskStartDispInit()函数中,使用PC_DispStr()函数画出界面。

(2)按键查询与响应: Main() Taskstart() 在TaskStart()函数中,用if (PC_GetKey(&key) == TRUE)判断是否有按键输入。然后根据key 的值,判断输入的按键是哪一个;在响应中用switch语句来执行对应按键的响应。 (3)切换功能: l计数“C”按 键的次数 M=l%3 Switch(m) M=0,1,2对应于煮饭,煮粥,煮面,然后使用PC_DispStr()函数在选择的选项前画上“@”指示,同时,在其余两项钱画上“”以“擦出”之前画下的“@”,注意l自增。 四.主要代码: #include "stdio.h" #include "includes.h" #include "time.h" #include "dos.h" #include "sys/types.h" #include "stdlib.h" #define TASK_STK_SIZE 512 #define N_TASKS 2 OS_STK TaskStk[N_TASKS][TASK_STK_SIZE]; OS_STK TaskStartStk[TASK_STK_SIZE]; INT8U TaskData[N_TASKS];

嵌入式实时操作系统

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

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

实时操作系统 期末报告

实时操作系统期末总结报告 一、实时操作系统的概述 实时操作系统(RTOS)是指当外界事件或数据产生时,能够接受并以足够快的速度予以处理,其处理的结果又能在规定的时间之内来控制生产过程或对处理系统做出快速响应,并控制所有实时任务协调一致运行的操作系统。因而,提供及时响应和高可靠性是其主要特点。实时操作系统有硬实时和软实时之分,硬实时要求在规定的时间内必须完成操作,这是在操作系统设计时保证的;软实时则只要按照任务的优先级,尽可能快地完成操作即可。我们通常使用的操作系统在经过一定改变之后就可以变成实时操作系统。 1.1.实时操作系统的相关概念 (1)实时操作系统的定义 实时操作系统是保证在一定时间限制内完成特定功能的操作系统。例如人驾驶的汽车中的系统,需要一个比较稳定的实时操作系统。在“硬”实时操作系统中,如果不能在允许时间内完成使物体可达的计算,操作系统将因错误结束。在“软”实时操作系统中,比如汽车不能很快的识别人的操作指令,那么它可能造成严重的事故(如:汽车的瞬时刹车;公交车,它能准确的报站,这其实就是一个实时操作系统的具体体现;其次,车上的GPS导航仪,其实质也是一个比较精确实时操作系统的产物,如果不能实时,那么导航仪将失效,结果不能正确的指导司机驾驶的方向,同时这种实时操作系统的及时性必须达到一定的程度:ms级)。一些实时操作系统是为特定的应用

设计的,另一些是通用的。一些通用目的的操作系统称自己为实时操作系统。但某种程度上,大部分通用目的的操作系统,如微软的Windows NT或IBM的OS/390有实时系统的特征。这就是说,即使一个操作系统不是严格的实时系统,它们也能解决一部分实时应用问题。 (2)实时操作系统中的一些重要的概念 代码临界段:指处理时不可分割的代码。一旦这部分代码开始执行则不允许中断打入; 资源:任何为任务所占用的实体; 共享资源:可以被一个以上任务使用的资源; 任务:也称作一个线程,是一个简单的程序。每个任务被赋予一定的优先级,有它自己的一套CPU寄存器和自己的栈空间。典型地,每个任 务都是一个无限的循环,每个任务都处在以下五个状态下:休眠 态,就绪态,运行态,挂起态,被中断态; 任务切换:将正在运行任务的当前状态(CPU寄存器中的全部内容)保存在任务自己的栈区,然后把下一个将要运行的任务的当前状态从该任 务的栈中重新装入CPU的寄存器,并开始下一个任务的运行; 内核:负责管理各个任务,为每个任务分配CPU时间,并负责任务之间通讯。分为不可剥夺型内核和可剥夺型内核; 调度:内核的主要职责之一,决定轮到哪个任务运行。一般基于优先级调度法; (3)及时性 关于实时操作系统的及时性,我将从如下两个方面进行介绍:实时操作系统的时间限和实时操作系统的应用相关。 时间限:对一些实时性要求较高的系统,它们要求的时间限一般是毫秒级(ms),但是通常的实时操作系统,一般是秒级(s)或是在

计算机操作系统简单介绍

计算机操作系统简单介绍 操作系统的种类繁多,依其功能和特性分为分批处理操作系统、分时操作系统和实时操作系统等;依同时管理用户数的多少分为单用户操作系统和多用户操作系统;适合管理计算机网络环境的网络操作系统。 1)微机操作系统随着微机硬件技术的发展而发展,从简单到复杂。Microsoft 公司开发的DOS是一单用户单任务系统,而Windows操作系统则是一多户多任务系统,经过十几年的发展,已从Windows 3.1发展Windows NT、Windows 2000、Windows XP、Windows vista、Windows 7和Windows 8等等。它是当前微机中广泛使用的操作系统之一。Linux是一个源码公开的操作系统,程序员可以根据自己的兴趣和灵感对其进行改变,这让Linux吸收了无数程序员的精华,不断壮大,已被越来越多的用户所采用,是Windows操作系统强有力的竞争对手。 2)语言处理系统 人和计算机交流信息使用的语言称为计算机语言或称程序设计语言。计算机语言通常分为机器语言、汇编语言和高级语言三类。如果要在计算机上运行高级语言程序就必须配备程序语言翻译程序(下简称翻译程序)。翻译程序本身是一组程序,不同的高级语言都有相应的翻译程序。翻译的方法有两种:一种称为“解释”。早期的BASIC源程序的执行都采用这种方式。它调用机器配备的BASIC“解释程序”,在运行BASIC源程序时,逐条把BASIC的源程序语句进行解释和执行,它不保留目标程序代码,即不产生可执行文件。这种方式速度较慢,每次运行都要经过“解释”,边解释边执行。 另一种称为“编译”,它调用相应语言的编译程序,把源程序变成目标程序(以.OBJ为扩展名),然后再用连接程序,把目标程序与库文件相连接形成可执行文件。尽管编译的过程复杂一些,但它形成的可执行文件(以.exe为扩展名)可以反复执行,速度较快。运行程序时只要键入可执行程序的文件名,再按Enter键即可。 对源程序进行解释和编译任务的程序,分别叫作编译程序和解释程序。如FORTRAN、COBOL、PASCAL和C等高级语言,使用时需有相应的编译程序;BASIC、LISP等高级语言,使用时需用相应的解释程序。

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

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

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

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

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

DSP实时操作系统简介

ENEA公司与OSE实时操作系统简介 一.公司简介 OSE RTOS主要是由瑞典ENEA公司负责开发和技术服务的,一直以来都充当着实时操作系统以及分布式和容错性应用的先锋。公司建立于1968年,由大约700名雇员专门从事实时应用的技术研发和支持工作。ENEA是现今市场上一个飞速发展的RTOS供应商,在过去三年中,该公司的税收以每年70﹪的速度递增。 该公司开发的OSE RTOS支持容错,适用于可从硬件和软件错误中恢复的应用,它的独特的消息传输方式使它能方便地支持多处理机之间的通信。它的客户深入到电信,数据,工控,航空等领域,尤其在电信、军方等方面,该公司已经有了二十多年的开发经验,ENEA 现在已经成为日趋成熟,功能强大,经营灵活的RTOS供应商,也同诸如爱立信,诺西,华为,中兴,诺基亚,波音,NASA,空客等知名公司确定了良好的关系。 二.OSE操作系统的特点 1. 高处理能力 内核中实时性严格的部分都由优化的汇编来实现,特别是使用消息传递机制,使数据处理非常快。 2. 真正适合开发复杂(包括多CPU和多DSP,已经多核DSP)的分布式系统 随着科技发展,嵌入式实时操作系统已经变得越来越复杂,经常会面临两大困难: 不间断的运行(NonStop) 多CPU的分布式系统 (Distribution over many CPUS) 传统的RTOS如果要做到这些,必然会增大消耗,增长开发周期。OSE就是应运而生的新生代的RTOS,解决了这些需求,它支持多种CPU和DSP,为开发商开发不同种处理器组成的分布式系统提供了最快捷的方式。 传统的RTOS是基于单CPU,它虽然可以改进成分布式系统,但用户需要在应用程序中做很多工作。而OSE不同于传统的RTOS,首先是因为它的结构体系有了很大改变,它以消息传递作为主要手段完成CPU/DSP间的通信,还把传统的RTOS必须在应用程序中完成的工作,做到了核心系统中。对于复杂的并行系统来说,OSE提供了一种简单的通信方式,简化了多CPU/DSP的处理。

操作系统简介

1.计算机软件 计算机软件(Computer Software,也称软件,软体)是指计算机系统中的程序及其文档,程序是计算任务的处理对象和处理规则的描述;文档是为了便于了解程序所需的阐明性资料。程序必须装入机器内部才能工作,文档一般是给人看的,不一定装入机器。 计算机软件(Computer Software)是指计算机系统中的程序及其文档。程序是计算任务的处理对象和处理规则的描述;文档是为了便于了解程序所需的阐明性资料。程序必须装入机器内部才能工作,文档一般是给人看的,不一定装入机器。 软件是用户与硬件之间的接口界面。用户主要是通过软件与计算机进行交流。软件是计算机系统设计的重要依据。为了方便用户,为了使计算机系统具有较高的总体效用,在设计计算机系统时,必须通盘考虑软件与硬件的结合,以及用户的要求和软件的要求。 软件的含义 (1)运行时,能够提供所要求功能和性能的指令或计算机程序集合。 (2)程序能够满意地处理信息的数据结构。 (3)描述程序功能需求以及程序如何操作和使用所要求的文档。 编辑本段软件与硬件的不同点 表现形式不同 硬件有形,有色,有味,看得见,摸得着,闻得到。而软件无形,无色,无味,看不见,摸不着,闻不到。软件大多存在人们的脑袋里或纸面上,它的正确与否,是好是坏,一直要到程序在机器上运行才能知道。这就给设计、生产和管理带来许多困难。 生产方式不同 软件是开发,是人的智力的高度发挥,不是传统意义上的硬件制造。尽管软件开发与硬件制造之间有许多共同点,但这两种活动是根本不同的。 要求不同 硬件产品允许有误差,而软件产品却不允许有误差。 维护不同

硬件是要用旧用坏的,在理论上,软件是不会用旧用坏的,但在实际上,软件也会变旧变坏。因为在软件的整个生存期中,一直处于改变(维护)状态。 编辑本段计算机软件的分类 总述 计算机软件总体分为系统软件和应用软件两大类: 系统软件是各类操作系统,如windows、Linux、UNIX等,还包括操作系统的补丁程序及硬件驱动程序,都是系统软件类。 应用软件可以细分的种类就更多了,如工具软件、游戏软件、管理软件等都属于应用软件类。 系统软件 系统软件是负责管理计算机系统中各种独立的硬件,使得它们可以协调工作。系统软件使得计算机使用者和其他软件将计算机当作一个整体而不需要顾及到底层每个硬件是如何工作的。 一般来讲,系统软件包括操作系统和一系列基本的工具(比如编译器,数据库管理,存储器格式化,文件系统管理,用户身份验证,驱动管理,网络连接等方面的工具)。 应用软件 应用软件是为了某种特定的用途而被开发的软件。它可以是一个特定的程序,比如一个图像浏览器。也可以是一组功能联系紧密,可以互相协作的程序的集合,比如微软的Office软件。也可以是一个由众多独立程序组成的庞大的软件系统,比如数据库管理系统。 较常见的有: 文字处理软件如WPS、Word等 信息管理软件 辅助设计软件如AutoCAD 实时控制软件 教育与娱乐软件 2.操作系统(OS) 操作系统(Operating System,简称OS)是一管理电脑硬件与软件资源的程序,同时也是计算机系统的内核与基石。操作系统是一个庞大的管理控制程序,大致包括5个方面的管理功能:进程与处理机管理、作业管理、存储管理、设备管理、

嵌入式实时操作系统报告

学号:1325260453 《嵌入式实时操作系统》课程报告 学院:信息与控制工程学院 专业班级:控制科学与工程 姓名:X X X 成绩:

目次 第一章绪论 (1) 1.1研究背景 (1) 1.2智能手机概述 (1) 1.3L INUX概述 (2) 1.4L INUX主要特性 (3) 1.4.1 开放性 (3) 1.4.2 多用户 (3) 1.4.3 多任务 (3) 1.4.4 良好的用户界面 (3) 1.4.5 设备独立性 (3) 1.4.6 供了丰富的网络功能 (4) 1.4.7 可靠的系统安全 (4) 1.4.8 良好的可移植性 (4) 第二章智能手机操作系统 (5) 2.1智能手机操作系统介绍 (5) 2.2智能手机操作系统比较 (5) 2.2.1 Symbian (5) 2.2.2 Windows Phone (5) 2.2.3 Palm OS (6) 2.2.4 Blackberry (6) 2.2.5 Android (7) 第三章LINUX在智能手机操作系统中的应用 (8) 3.1L INUX的应用 (8) 3.2智能手机系统体系结构 (9) 3.3A NDROID体系结构 (9) 3.3.1 应用层 (10) 3.3.2 应用框架层 (10) 3.3.3 Android运行环境和系统运行库层 (11) 3.3.4 Linux 内核层 (11)

第一章绪论 1.1 研究背景 嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。它一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序等四个部分组成。嵌入式系统过去主要应用于工业控制领域。随着以计算机技术和通讯技术为主的信息技术的快速发展,以及Internet的广泛应用,嵌入式系统除了可以在传统的计算机上运行外,还可以广泛应用于PDA(Personal Digital Assistant,个人数字助理)、机顶盒、VCD、DVD、车载PC、手机等众多电子设备。利用嵌入式软件,人们可以使用手持计算机或移动电话收发Email,或者通过Web TV访问Internet,用Web Phone拨打国际长途电话12I。嵌入式系统将广泛应用于信息家电、工业控制、军事应用、POS(Primary Operating System,主操作系统)网络及电子商务和环境工程等各个领域。业界分析家认为在Internet电话、游戏装置和手持通讯装置的推动下,嵌入式系统将会有突飞猛进的发展。它与Internet紧密结合,支持强大的移动性和智能性,并且具备强大的通讯能力。嵌入式系统发展形式逐步多样化,将为用户提供更多的选择。 嵌入式系统和智能手机密不可分。随着嵌入式系统的发展,智能手机也在不断地进化。今天的智能手机已经向话音、数据、图像综合的方向演变。昔日外形笨重、功能单一的智能手机已是明日黄花。2005年,智能手机发展迅猛,不断推出新的产品,可以说是智能手机发展迅猛的一年。智能手机以其强大的功能和便捷的操作等特点得到人们的青睐。 智能手机作为集语音通信、多媒体和掌上电脑功能于一体的移动通信终端产品,其最初源于掌上电脑,智能手机最早于1999年现身,当时摩托罗拉推出天拓A6188手机,是全球第一部具有触摸屏和中文手写识别输入功能的移动电话,被称为PDA手机的鼻祖。这种新颖的功能整合手机面世后,因为价格一直居高不下,所以未能进入广大普通手机消费者的视野,直到2002年,包括摩托罗拉、爱立信、诺基亚等在内的手机业巨头一连推出了9款PDA手机,这时智能手机才渐成气候,逐渐走进平常人的视野。 与传统手机相比,智能手机的优势非常明显,不但内容丰富,还具有可以无限扩展的强大功能以及硬件的可升级性,这使得智能手机能够真正实现通信、电脑和互联网的融合,而要实现智能手机的这些功能,必须依靠移动互联网。正是因为移动互联网所提供的丰富数据业务,智能手机的发展才如此迅速。 1.2智能手机概述 现代经济的飞速发展,人民生活水平大幅度提高,智能手机已逐渐成为人们日常生活的一部分。从外观看,智能手机更像个PDA,它能在手机上欣赏MP3、下载游戏和MTV、

RedHawk Linux实时操作系统简介

RedHawk Linux 实时操作系统简介 美国并行计算机公司的Redhawk Linux 实时操作系统是iHawk 系统的核心。美国并行计算机公司的RedHawk™ Linux® 是符合标准、POSIX 兼容且源代码开放的Red Hat® Linux 操作系统的实时版本。RedHawk Linux 不仅涵盖了流行的Red Hat® Linux 发行版本,更提供了包括:高速I/O 吞吐、对外部事件快速响应的时间确定性,以及进程间通讯优化 等实时特性。对于实时仿真、数据采集和工业控制系统等复杂实时应用,RedHawk 是一个理想的实时Linux 运行环境。RedHawk Linux 采用标准的Red Hat 的用户级命令、实用工具和系统管理工具,并用改进的多线程、全程核心抢占式的低延时实时内核将Red Hat 内核替换,从而获得了实时性能。RedHawk 支持真正的对称多重处理技术,包括:负载平衡和CPU 屏蔽等,并 确保在时间关键型应用中系统的确定性和实时性能最优。譬如,在一个被屏蔽 的处理器内,中断响应时间可保证短于30 微秒。RedHawk 基于多线程、全程抢占式Linux 内核,经过了低延时改进;其对称多处理支持技术包括:负载平衡和CPU 屏蔽等,并确保在时间关键型应用中系统的确定性和实时性能。 真正的实时Linux RedHawk 是标准Linux 操作系统真正的实时变体。RedHawk 提供了单一内核编程环境,可以直接调用所有系统操作,包括:文件I/O、网 络和图形。通常,在复杂的实时应用程序它们经常需要和实时任务一起确定地 控制。只有RedHawk 的单一内核设计才能够保证这一特性。可扩展的SMP 和处理器屏蔽美国并行计算机公司的iHawk 是一个紧耦合对称多重处理实时系统,RedHawk Linux 允许单个CPU 被屏蔽,不受中断、后台进程、bottom halve 和其它Linux 任务的影响。处理器屏蔽提供了具有高确定性的执行环境,保证了对中断的响应。多线程抢占RedHawk Linux 内核允许在内核里同时执

操作系统概述

操作系统概述 组织教学:清点人数,开始上课。 复习: 多媒体系统的组成 授新: 一、操作系统的基本概念 操作系统是为了方便用户和提高计算机的利用率,而对计算机系统资源进行组织和管理的程序集合。用户是一个广义的概念,包括一般用户和软件开发人员等;资源包括处理器、存储器、输入/输出设备等硬件资源,以及程序、数据等软件资源。 二、操作系统的主要特性 1.并发(concurrence) 并行性与并发性这两个概念是既相似又区别的两个概念。并行性是指两个或者多个事件在同一时刻发生,这是一个具有微观意义的概念,即在物理上这些事件是同时发生的;而并发性是指两个或者多个事件在同一时间的间隔内发生,它是一个较为宏观的概念。在多道程序环境下,并发性是指在一段时间内有多道程序在同时运行,但在单处理机的系统中,每一时刻仅能执行一道程序,故微观上这些程序是在交替执行的。 2.共享(sharing) 所谓共享是指,系统中的资源可供内存中多个并发执行的进程共同使用。由于资源的属性不同,故多个进程对资源的共享方式也不同,可以分为:互斥共享方式和同时访问方式 3.虚拟(virtual)

它是指通过技术把一个物理实体变成若干个逻辑上的对应物。在操作系统中虚拟的实现主要是通过分时的使用方法。 4.异步(asynchronism) 在多道程序设计环境下,允许多个进程并发执行,由于资源等因素的限制,通常,进程的执行并非“一气呵成”,而是以“走走停停”的方式运行。 三、操作系统的分类 操作系统有各种分类方法,通常按其系统功能、运行环境及服务对象来分类。尽管分类方法不同,迄今为止的各种操作系统均属于这些操作系统之一或它们的组合:单用户操作系统、批量处理系统、分时系统、实时系统、网络操作系统、分布式操作系统和并行操作系统等。 1.批处理操作系统 批处理操作系统中,用户的作业分批提交并处理,即系统将作业成批输入系统并暂存在外存中,组成后备作业队列,每次按一定的调度原则从后备作业中选择一个或多个装入主存进行处理,作业完成后退出。这些操作由系统自动实现,在系统中形成了一个自动转接的作业流,当一批作业运行完毕,输出结果后,系统便接收下一批作业。 在批处理系统中,用户不能直接干预作业的运行过程,而是将其对作业的控制意图在作业提交前用作业控制语言编制成作业说明书或作业控制卡,这些控制意图可以是作业运行时的资源请求,或是对可能产生的运行错误的相应处理等。作业说明书或作业控制卡在提交作业时,与程序和数据一起提交给系统,由作业控制程序或命令解释程序解释执行,并且提供相应的服务。 批处理操作系统,又分单道批处理系统和多道批处理系统。单道批处理系统比较简单,相当于单用户操作系统。在批处理系统中引入多道程序设计技术后,具有以下的特征。

常见的四种嵌入式操作系统

(一)VxWorks VxWorks操作系统是美国WindRiver公司于1983年设计开发的一种嵌入式实时操作系统(RTOS),是Tornado嵌入式开发环境的关键组成部分。良好的持续发展能力、高性能的内核以及友好的用户开发环境,在嵌人式实时操作系统领域逐渐占据一席之地。 VxWorks具有可裁剪微内核结构;高效的任务管理;灵活的任务间通讯;微秒级的中断处理;支持POSIX 1003.1b实时扩展标准;支持多种物理介质及标准的、完整的TCP/IP网络协议等。 然而其价格昂贵。由于操作系统本身以及开发环境都是专有的,价格一般都比较高,通常需花费10万元人民币以上才能建起一个可用的开发环境,对每一个应用一般还要另外收取版税。一般不通供源代码,只提供二进制代码。由于它们都是专用操作系统,需要专门的技术人员掌握开发技术和维护,所以软件的开发和维护成本都非常高。支持的硬件数量有限。 (二)Windows CE Windows CE与Windows系列有较好的兼容性,无疑是Windows CE推广的一大优势。其中WinCE3.0是一种针对小容量、移动式、智能化、32位、了解设备的模块化实时嵌人式操作系统。为建立针对掌上设备、无线设备的动态应用程序和服务提供了一种功能丰富的操作系统平台,它能在多种处理器体系结构上运行,并且通常适用于那些对内存占用空间具有一定限制的设备。它是从整体上为有限资源的平台设计的多线程、完整优先权、多任务的操作系统。它的模块化设计允许它对从掌上电脑到专用的工业控制器的用户电子设备进行定制。操作系统的基本内核需要至少200KB的ROM。由于嵌入式产品的体积、成本等方面有较严格的要求,所以处理器部分占用空间应尽可能的小。系统的可用内存和外存数量也要受限制,而嵌入式操作系统就运行在有限的内存(一般在ROM或快闪存储器)中,因此就对操作系统的规模、效率等提出了较高的要求。从技术角度上讲,Windows CE作为嵌入式操作系统有很多的缺陷:没有开放源代码,使应用开发人员很难实现产品的定制;在效率、功耗方面的表现并不出色,而且和Windows一样占用过的系统内存,运用程序庞大;版权许可费也是厂商不得不考虑的因素。 (三)嵌入式Linux 这是嵌入式操作系统的一个新成员,其最大的特点是源代码公开并且遵循GPL协议,在近一年多以来成为研究热点,据IDG预测嵌入式Linux将占未来两年的嵌入式操作系统份额的50%。 由于其源代码公开,人们可以任意修改,以满足自己的应用,并且查错也很容易。遵从GPL,无须为每例应用交纳许可证费。有大量的应用软件可用。其中大部分都遵从GPL,是开放源代

实时操作系统基本概念

第一章实时操作系统基本概念 操作系统是管理计算机硬件、软件资源,提高资源利用率,方便用户应用计算机的最基本的系统软件。 操作系统一般具有存储管理、进程管理、设备管理、文件管理、作业管理等五项基本功能,表现出并发、共享、虚拟等特征。按追求的目标和所适应的环境,操作系统分为多道批处理系统、分时系统和实时系统。 实时系统是指计算机对特定的输入作出快速反应,以控制发出实时信号的对象。 实时控制系统应用的操作系统是典型的实时操作系统,它要求系统可靠性高,反应速度快,响应速度在ms级甚至ns级。 实时系统大都是具有特殊用途的专用系统,只允许访问有限的专用程序及实现通用操作系统的部分功能,以换起可靠性和实时性。 实时系统有软实时系统和硬实时系统之分。软实时系统要求各任务尽快地执行,在规定的时间内都执行完,而不要求某一具体任务在特定时间内完成。硬实时系统不仅要求各任务在规定的时间内必须完成,而且每个任务必须准时执行。 多数实时系统都是嵌入式的,计算机建在系统内部,用户看不到。 应用程序是一个无限的循环,循环中调用有关函数以完成相应的操作,这部分看成后台行为(background);中断复合程序处理异步事件,这部分看成前台行为(foreground)。后台叫作任务级,前台叫作中断级。

时间相关性很强的操作一般靠中断服务来保存(前台操作),但中断服务产生的信息要交给后方应用程序处理。当后方运行到处理该信息时,才能得到处理。从前台中断到后台任务处理所产生的时差称作任务级响应时间。 多任务运行的实现靠的是CPU(中央处理单元)在许多任务之间转换和调度。CPU只有一个,轮番服务于一系列任务中的某一个。在实时应用中,多任务化的最大特点是,开发人员可以将很复杂的应用程序层次化。使用多任务,应用程序将更容易设计与维护。 一个任务,也称作一个线程,是一个简单的程序,该程序认为CPU完全只属于自己。实时应用程序的设计包括如何把问题分割成多个任务。每个任务都是整个应用程序的一部分,都被赋予一定的优先级,有自己的一套CPU寄存器和伐空间(如图F2.2所示)。 典型的实时应用程序,每个任务都是一个无限的循环,都可能处在以下5种状态之一——休眠态、就绪态、运行态、挂起态(等待某一事件发生)及被中断态(参见图F2.3)。 休眠态相当于任务驻留在内存中,但不被多任务内核所调度;就绪态意味着任务已经准备好,可以运行,但由于该任务的优先级比正在运行的任务的优先级低,还暂时不能运行;运行态是指任务掌握了CPU的使用权,正在运行中;挂起态也叫做等待事件态(waiting),指任务在等待某一事件的发生(例如等待某外设的I/O操作,等待某共享资源由暂不能使用变成使用状态,等待定时脉冲的到来,或等待超时信号的到来,以结束目前的等待,等等);发生中断时,CPU提供相应的中断服务,原来正在运行的任务不能运行,就进入了被中断状态。 当多任务内核决定运行另外的任务时,它保存正在运行任务的当前状态(constorage area)(保存到正在运行任务自己的栈区之中,见图(F2.2)。入栈工作完成之后,就把下一个

嵌入式实时操作系统试题

嵌入式实时操作系统试题 ——(笔试、闭卷) 一、判断(2×12=24分) 1、嵌入式系统是看不见的计算机系统,其开发环境和运行环境一致。( F ) 2、PC机可包含在嵌入式系统中。(T ) 3、通常嵌入式系统是一个通用的计算平台,其软件是应用程序和操作系统两种软件的一体化程序。( F ) 4、嵌入式硬件系统的多样性不仅表现在嵌入式CPU的多样性、而且具有相同微处理器的硬件系统可能会有多种不同的外围电路。(T) 5、嵌入式硬件系统的核心是嵌入式微处理器,其主要体系架构有SPARC、Pentium、Itanium等。( F ) 6、AMBA总线是片内总线,包括高速总线AHB和低速总线APB。(T ) 7、NandFl ash是一种Flash Memory它既可以做主存也可做外存使用。( F ) 8、NorFlash是一种Flash Memory它既可以做主存也可做外存使用。(T ) 9、在ARM CPU模式中System模式与User模式的运行环境一样,但是它可以不受任何限制地访问任何资源。(T ) 10、在ARM CPU模式中除User模式外,其它模式都被称为特权模式,User模式可直接改变CPU的模式。( F ) 11、ARM有两种工作状态:ARM和Thumb,ARM和Thumb之间状态的切换将影响CPU的模式或寄存器的内容。( F ) 12、ARM是32位嵌入式处理器,并可以进入16位运行模式, 可支持大、小端数据格式(T ) 13、X86 CPU的异常向量与ARM CPU的异常向量的区别是:在X86平台上,当有异常发生时CPU是到指定的向量地址读取要执行的程序的地址。而ARM CPU是到向量地址的地方读取指令,也就是ARM的向量地址处存放的是一条指令(一般是一条跳转指令)。(TRUE) 14、存储器映射编址是指I/O端口的地址与内存地址统一编址,即I/O单元与内存单元在同一地址空间。其优点是可采用丰富的内存操作指令访问I/O单元、无需单独的I/O地址译码电路、无需专用的I/O指令。(T) 15、ARM的中断处理方式与X86是一致的,当中断发生时CPU是到指定的向量地址读取要执行的程序的地址。 ( F ) 16、AMBA中APB是低速总线,并可支持多个主单元。(F ) 17、在设计嵌入式实时操作系统调度器的时候,应尽量考虑公平和最小化平均响应时间。( F ) 18、不可抢占内核是指内核不能被中断,可抢占内核指内核可被中断。( F ) 19、当任务等待资源时,系统调用一旦返回就获得了该等待的资源。( F ) 20、在嵌入式实时多任务系统中,任务的优先级比中断的优先级高。( F ) 21、中断处理程序可以使用嵌入式操作系统提供的所有系统调用。( F )

《嵌入式实时操作系统复习资料》

一、填空题(请将答案填入题后括号中):共10小题,每小题2分,满分20分。 1、一般而言,嵌入式系统的构架可以分为4个部分:分别是(处理器)、存储器、输入/输出和软件,一般软件亦分为操作系统相关和(应用软件)两个主要部分。 2、根据嵌入式系统使用的微处理器,可以将嵌入式系统分为嵌入式微控制器, (嵌入式微处理器)(嵌入式DSP处理器)以及片上系统。 3、操作系统是联接硬件与应用程序的系统程序,其基本功能有 (任务管理)、任务间通信、(内存管理)和I/O资源管理。 4.实时系统:指系统能够在限定的(响应)时间内提供所需水平的服务 5.ucos-ii最多管理(64 )个任务 6.ucos-ii中,OS_TaskStat任务的优先级占(62 ),OS_TaskIdle任务的优先级是( 63 ) 7 ucos-ii中,OSRdyTbl就绪表的大小是由宏定义:OS_RDY_TBL_SIZE来定义,由全局宏 ( OS_LOWEST_PRIO )来决定的, 8. TCB中的四个成员变量:INT8U OSTCBX;INT8U OSTCBY;INT8U OSTCBBitX; INT8U OSTCBBitY ,用于(加速)任务就绪态的计算过程。 9.TCB内部最重要的元素放在第一个单元叫(OSTCBStkPtr),因此,这个变量是惟一一个能用汇编语言处置的变量,将其放在结构最前面,使得在汇编语言中处理这个变量时较为容易。 10. uC/OS-II是一个简洁、易用的基于优先级的嵌入式(抢占式)多任务实时内核。 11.任务是一个无返回的无穷循环。uc/os-ii总是运行进入就绪状态的(最高优先级)的任务。 12.因为uc/os-ii总是运行进入就绪状态的最高优先级的任务。所以,确定哪个任务优先级最高,下面该哪个任务运行,这个工作就是由调度器(scheduler)来完成的。 13.(不可剥夺型)内核要求每个任务自我放弃CPU的所有权。不可剥夺型调度法也称作合作型多任务,各个任务彼此合作共享一个CPU。 14.当系统响应时间很重要时,要使用(可剥夺型)内核。最高优先级的任务一旦就绪,总能得到CPU的控制权。 15.(可重入型)函数是可以被一个以上的任务调用,而不必担心数据的破坏。 16.每个任务都有其优先级。任务越重要,赋予的优先级应(越高)。 17.μC/OSⅡ初始化是通过调用系统函数(OSIint() )实现的,,完成μC/OS-Ⅱ所有的变量和数据结构的初始化。 18.多任务的启动是用户通过调用(OSStart() )实现的。然而,启动μC/OS-Ⅱ之前,用户至少要建立一个(任务)。 19.删除任务,是说任务将返回并处于(休眠状态),并不是说任务的代码被删 除了,只是任务的代码不再被μC/OS-Ⅱ调用。 20.μC/OS-Ⅱ要求用户提供(定时中断)来实现延时与超时控制等功能。 21.μC/OS-Ⅱ中,定时中断也叫做(时钟节拍),在低速系统中,它应该每秒发生10至100次。

嵌入式实时操作系统-RTOS和PC上的区别

嵌入式实时操作系统:RTOS和PC上的区别 嵌入式实时系统中采用的操作系统我们称为嵌入式实时操作系统,它既是嵌入式操作系统,又是实时操作系统。作为一种嵌入式操作系统,它具有嵌入式软件共有的可裁剪、低资源占用、低功耗等特点;而作为一种实时操作系统(本文对实时操作系统特性的讨论仅限于强实时操作系统,下面提到的实时操作系统也均指强实时操作系统),它与通用操作系统(如Windows、Unix、Linux等)相比有很大的差别,下面我们将通过比较这两种操作系统之间的差别来逐步描述实时操作系统的主要特点。我们在日常工作学习环境中接触最多的是通用操作系统,通用操作系统是由分时操作系统发展而来,大部分都支持多用户和多进程,负责管理众多的进程并为它们分配系统资源。分时操作系统的基本设计原则是:尽量缩短系统的平均响应时间并提高系统的吞吐率,在单位时间内为尽可能多的用户请求提供服务。由此可以看出,分时操作系统注重平均表现性能,不注重个体表现性能。如对于整个系统来说,注重所有任务的平均响应时间而不关心单个任务的响应时间,对于某个单个任务来说,注重每次执行的平均响应时间而不关心某次特定执行的响应时间。通用操作系统中采用的很多策略和技巧都体现出了这种设计原则,如虚存管理机制中由于采用了LRU等页替换算法,使得大部分的访存需求能够快速地通过物理内存完成,只有很小一部分的访存需求需要通过调页完成,但从总体上来看,平均访存时间与不采用虚存技术相比没有很大的提高,同时又获得了虚空间可以远大于物理内存容量等好处,因此虚存技术在通用操作系统中得到了十分广泛的应用。类似的例子还有很多,如Unix文件系统中文件存放位置的间接索引查询机制等,甚至硬件设计中的Cache技术以及CPU 的动态分支预测技术等也都体现出了这种设计原则。由此可见,这种注重平均表现,即统计型表现特性的设计原则的影响是十分深远的。 而对于实时操作系统,前面我们已经提到,它除了要满足应用的功能需求以外,更重要的是还要满足应用提出的实时性要求,而组成一个应用的众多实时任务对于实时性的要求是各不相同的,此外实时任务之间可能还会有一些复杂的关联和同步关系,如执行顺序限制、

相关主题
文本预览
相关文档 最新文档