当前位置:文档之家› Nucleus嵌入式实时操作系统

Nucleus嵌入式实时操作系统

Nucleus嵌入式实时操作系统
Nucleus嵌入式实时操作系统

目录

一、M entor Graphics ESD公司简介

二、N ucleus操作系统的特点

三、源代码操作系统的优势

四、Nucleus操作系统开发环境的配置

五、Nucleus的网络浏览器(WebBrowse)介绍

六、Nucleus操作系统的应用领域及在国内外的用户

七、Nucleus操作系统的成功案例

1、Nucleus操作系统在通讯设备上的应用

●以Nucleus操作系统为核心的路由器方案

2、Nucleus操作系统在消费类电子产品上的应用

●Nucleus操作系统和MPC860平台开发机顶盒

●N ucleus操作系统与ARM7构成POS系统

●N ucleus操作系统与ARM7构成PDA

3、Nucleus操作系统在医疗仪器上的应用

4、Nucleus操作系统在电力系统上的应用

5、Nucleus操作系统在美国军方的应用举例

一、Mentor Graphics ESD公司简介

●公司全称:Mentor Graphics Embedded Software Division

●Mentor Graphics Group成立于1981年,全球雇员超过4000人,为全球领先的EDA工具提

供商;ESD是Mentor Graphics公司内专注于嵌入式开发工具的部门,产品包括:Nucleus RTOS, CodeBench IDE, Inflexion UI Design Tools等,全球雇员超过200人;

●ESD总部美国Alabama州的Mobile

●在美国的加利佛尼亚,德克萨斯,马塞诸塞,佛罗里达以及田纳西等设有分支机构

●在英国、法国和德国设有分支机构

●在日本、韩国、澳大利亚、台湾、中国、意大利和俄罗斯等国设有代理商

●1990年推出Nucleus实时多任务操作系统

●1993年成为MOTOROLA推荐的四大RTOS厂商之一

●1994年推出全球唯一的MNT虚拟开发平台

●1994年推出全球唯一的VNET网络化虚拟平台

●1994年成功地推出Java和RTOS产品

●1995年成为全球第一大源代码RTOS厂商

●1996年选定旋极科技公司为其中国大陆及香港地区独家代理商

二、Nucleus PLUS的特点:

Nucleus PLUS 是为实时嵌入式应用而设计的一个抢先式多任务操作系统内核,其95%的代码是用ANSIC写成的,因此非常便于移植并能够支持大多数类型的处理器。从实现角度来看,Nucleus PLUS 是一组C函数库,应用程序代码与核心函数库连接在一起,生成一个目标代码,下载到目标板的RAM中或直接烧录到目标板的ROM中执行。在典型的目标环境中,Nucleus PLUS 核心代码区一般不超过20K字节大小。

Nucleus PLUS 采用了软件组件的方法。每个组件具有单一而明确的目的,通常由几个C及汇编语言模块构成,提供清晰的外部接口,对组件的引用就是通过这些接口完成的。除了少数一些特殊情况外,不允许从外部对组件内的全局进行访问。由于采用了软件组件的方法,Nucleus PLUS 各个组件非常易于替换和复用。

Nucleus PLUS 的组件包括任务控制、内存管理、任务间通信、任务的同步与互斥、中断管理、定时器及I/O驱动等。

Nucleus具有如下特点:

1、提供源代码

Nucleus PLUS 提供注释严格的C源级代码给每一个用户。这样,用户能够深入地了解底层内核的运作方式,并可根据自己的特殊要求删减或改动系统软件,这对软件的规范化管理及系统软件的测试都有极大的帮助。另外,由于提供了RTOS 的源级代码,用户不但可以进行RTOS 的学习和研究,而且产品在量产时也不必支付License,可以省去大量的费用。对于军方来说,由于提供了源代码,用户完全可以控制内核而不必担心操作系统中可能会存在异常任务导致系统崩溃。

2、性价比高

Nucleus PLUS 由于采用了先进的微内核( Micro-kernel ) 技术,因而在优先级安排,任务调度,任务切换等各个方面都有相当大的优势。另外,对C++语言的全面支持又使得Nucleus PLUS 的Kernel 成为名副其实的面向对象的实时操作系统内核。然而,其价格却比较合理。所以,容易被广大的研发单位接受。

3、易学易用

Nucleus PLUS 能够结合CCS,RVDS以及MENTOR GRAPHICS ESD自己的多任务调试器组成功能强大的集成开发环境,配合相应的编译器和动态联结库以及各类底层驱动软件,用户可以轻松地进行RTOS 的开发和调试。另外,由于这些集成开发环境( IDE ) 为所有的开发工程师所熟悉,因而,容易学习和使用。

4、功能模块丰富

Nucleus PLUS 除提供功能强大的内核操作系统外,还提供种类丰富的功能模块。例如用于通讯系统的局域和广域网络模块,支持图形应用的实时化Windows 模块,支持Internet网的WEB 产品模块,工控机实时BIOS 模块,图形化用户接口以及应用软件性能分析模块等。用户可以根据自己的应用来选择不同的应用模块。

Nucleus PLUS支持的CPU类型:

Nucleus PLUS 的RTOS内核可支持目前嵌入式市场上通用的处理器架构,包括ARM架构处理器,PPC系列处理器,ColdFire系列处理器,MIPS架构处理器等。可以说NUCLEUS是嵌入式领域里支持CPU类型最丰富的实时多任务操作系统。

针对各种嵌入式应用,Nucleus PLUS 还提供相应的网络协议(如TCP/IP,SNMP等),以满足用户对通讯系统的开发要求。另外,可重入的文件系统、可重入的C函数库以及图形化界面等也给开发者提供了方便。

针对不同的CPU类型,Nucleus 还提供编译器、动态连接库、多任务调试器等相应的工具来配置用户的开发环境。值得提出的是MENTOR GRAPHICS ESD公司最近兼并了CodeSourcery 公司,推出了新的IDE工具CodeBench,提供给工程师们强大的开发手段。

三、源代码带来的优势

众所周知,Nucleus实时多任务操作系统提供给用户源代码。这除商务上给用户带来巨大益处(免交Royalty)外,还在技术方面给用户极大的方便,即无需编写和调试BSP,从而达到易学易用的目的,加速产品上市。

对RTOS有一定知识的工程师一定清楚,使用RTOS最大的障碍在于编写和调试BSP。大家知道,在调试目标系统的软件之前,必须将目标与主机连接起来并建立通讯。为此,我们可以编写一段监控程序(Monitor)。然而,如果要调试基于RTOS内核的程序,主机上的调试器(Debugger)除要与目标建立通讯外,更重要的是必须识别RTOS的任务,这样才能进行任务级调试(Task-aware Debugger)。因此,只有Monitor是不够的。如果我们选用的RTOS不提供源代码,那么,主机上的调试器(Debugger)就只有通过用户编写的BSP来了解Kernel在现有硬件平台上对各个任务进行调度的情况。显然,编写BSP必须对CPU目标系统的硬件以及应用软件等有全面而深入的了解。一般说来,对于一个有一定硬件开发经验的工程师来说,编写一个新的BSP要花的平均时间为两个月左右。这对于一个新手来说可是比较困难的。

对于编写BSP的工程师来说,另外一个更大的挑战就是如何调试BSP,即如何验证所编写的BSP是否正确。通常刚刚焊接安装好的PCB板中,硬件或软件的故障(Bugs)是比较多的。甚至更常见的是CPU部分都没有运作正常。有时时序错误和总线错误都还存在。在您把写好的BSP烧入EPROM(或FLASH)中试图将目标与主机建立联系时,您几乎100%地会发现根本无法通讯,眼前一团漆黑,不知是软件有错误还是硬件不运转。BSP在正常运行吗?不得而知。在焦急和摸索中您可能发现几个月已悄然而过。

对于早期的实时操作系统来说,BSP是必由之路。然而,新一代的RTOS-Nucleus PLUS则避免了BSP带来的痛苦过程。因为Nucleus的调试是基于全新的动态连接库(DLL)。

用户只须通过监控程序(Monitor)或者BDM调试口(或者JTAG调试口)建立目标系统(Target)与主机(Host)之间的通讯,并给主机上的Debugger初始化特性中加入Nucleus的动态连接库(DLLs),这时,调试器就能够自动地去识别运行在目标系统中的Nucleus内核和

各个应用任务,从而完成任务级调试。上述的动态连接库(DLLs)是由RTOS厂商和Debugger 厂商合作完成的,用户无须自行编写。因此,Nucleus的用户只需要将精力放在基于Nucleus的编程工作中。对于一个新手,往往经过一天到两天的学习和培训,就可以投入到应用程序编制工作中去,无需花大量的时间去研究CPU,特定的硬件等。

另外,由于有了源程序,用户在调试程序时可以清楚地通过STEP INTO命令,追踪到RTOS 的内层中去,观看和学习Kernel对任务的管理和调度机制。对于有志研究RTOS深层技术的工程师来说极为方便。

结论:

动态连接库(DLL)是在RTOS工具中新出现的应用趋势,通过这种方式,用户可以免去BSP带来的麻烦,灵活方便地进行开发和调试,大大加速开发进度。

Nucleus实时操作系统提供源代码,支持丰富的CPU种类,配合各类DLL动态连接库,为使用和研究RTOS技术的工程带来极大的利益。

四、Nucleus的环境配置

MENTOR GRAPHICS ESD 公司(Embedded Software Division) 推出的Nucleus PLUS实时多任务操作系统以其微内核技术,原代码提供及广泛的CPU支持种类和易学易用等特点得到了国内众多用户的认可。目前,Nucleus PLUS 实时多任务操作系统在国内的通讯,医疗,控制及数据处理等领域得到了大量的应用。为了使广大的嵌入式应用工程师对Nucleus RTOS的开发环境及其配置有一个更全面的了解,我们在此以应用较多的ARM系列CPU的开发环境为例,对Nucleus RTOS 作一个较全面的介绍。

Nucleus PLUS 对ARM系列CPU 的开发环境:

五、Nucleus的动态下载功能

对于嵌入式领域的开发工程师来说,任何一种能够提供特殊功能的开发工具都将给自己的产品带来新的竞争优势。具有动态下载功能的Nucleus PLUS便是这样一种工具,它能够随时更改您所开发的正在运行的系统的功能。Nucleus动态下载功能能够让开发者随时进行系统的升级而不影响系统目前的运作情况。开发者只需通过串行I/O口将目标系统与主机连接起来,即可

完成这一功能。

所谓动态下载功能是运行在Nucleus PLUS实时多任务操作系统环境中的一个任务,它既可以作为一种命令解释器,又可以作为下载应用程序的管理器,用户通过这种功能可以将单个或者多个新的应用任务通过串行I/O口送入目标系统中,引导系统管理程序来使任何改动的系统配置生效。由于系统管理程序本身就是一个任务,可以通过设定优先级来使它不至于抢占系统中其他时序悠关(Time-Critical)的任务。当系统管理下载一个新的应用任务程序时,Nucleus 所有的函数调用均被映射回内核(Kernel)。Nucleus的这种给内核函数定位的能力使得其动态下载功能成为一种强有力的开发工具。

动态下载对环境的要求:

动态下载对运行环境有几个基本的要求。首先是对于编译、定位工具。它要求所用工具能够生成绝对地址代码。出于对可移植性的考虑,所用工具最好也能生成与地址相关的代码。这就是说,对于PowerPC860,某些寄存器必须用作代码段和数据段的偏移量寄存器。因此,将Nucleus的内核生成为地址相关的代码模块是很有益处的。

另外,目标系统必须留出串口以便与主机进行通讯。目前版本的动态下载功能利用了PowerPC860 MBX板上的串行口。当然,对于其他的接口,例如以太网口,只须作很小的改动。通过串行I/O口的最大下载速度为57600。许多常用的工具软件,例如Terminal,Hyper Terminal 和PCplus均可用来建立目标与主机的通讯。

结论:

利用Nucleus的动态下载功能,可以使基于Nucleus PLUS的嵌入式系统具有很强的灵活性,您可以在不影响系统的运行状态下,执行、增加或者删除新的应用任务,从而大大缩短产品上市的时间。另外,利用这种功能,您除能够随时保证您的系统处在最高性能之外,还可以随时对系统进行动态检测和维护。

Nucleus WebBrowse的工作机制

Nucleus WebBrowse是一种基于Nucleus GRAFIX(MENTOR GRAPHICS ESD的艺术级图形化软件包)的自包含的网络化的显示浏览工具,它通过Nucleus NET嵌入式TCP/IP通信协议包来处理通讯。Nucleus WebBrowse通过请求,利用HTTP传输协议联络用户和网络服务器。当你提供一个URL地址给浏览器时,浏览器会向远端的网络服务器发出HTTP申请,请求URL 页面。该页面通常为一个HTML文件。在收到这个HTML文件之后,Nucleus WebBrowse便将它进行分解并显示在视屏上。

显示特征

当你得到Nucleus WebBrowse的时候,你同时得到了其全部的源代码。由于它是基于Nucleus 的GRAFIX图形包,这样,你就可以随意地裁剪和编辑Nucleus WebBrowse的视窗界面和风格。

Nucleus WebBrowse包含了大量的特征来使信息显示简便易行。其中的某些特征如行模式等,能够提供字符显示,LCD或PLASMA字符矩阵,彩色或灰阶显示,并支持任何基于像素的显示屏。由于没有内部的解晰度限制,Nucleus WebBrowse能够利用其图形缩放算法来显示适应各种尺寸显示屏的HTML页面。它还专为小屏幕显示进行了优化,提供多种特征来减轻处理小屏幕显示的痛苦,图象可以被压缩或按比例减小来适应此类情形。

用户界面

Nucleus WebBrowse可移植到Nucleus NET的TCP/IP协议栈,能够支持HTTP1.0版本。基本的Nucleus WebBrowse界面被装入到一个图形化的HTML视窗中。其中包括水平滚动条和垂直滚动条以适应网络服务器提供的大幅面文件的显示。目前能够兼容HTML3.2版本,具有网络配置和连接(DNS,PPP,SLIP等)的功能以及脱机的HTML加载功能;通过SMTP和POP3来支持电子邮件(email)的接入;通过FTP用户端模块来支持FTP文件的下载。

Nucleus WebBrowse的应用层包括获取和显示外来信息的用户界面及机器界面的全部功能。这些外来信息既可从本地的软驱获得,也可从外部的网站上获得。

Nucleus WebBrowse能够接收用户从鼠标、键盘或触摸屏上输入的信息。当它运行在基于Nucleus GRAFIX环境的视窗中时,鼠标请求或其他视窗中的任务仍可以执行而不被阻断。Nucleus WebBrowse首先装载被申请的HTML页面,接着分解模块将该HTML页面解析成各种可翻译的目标码和页面特征(如尺寸、格式及颜色等)并将它们放置到一个显示序列中。与此同时,翻译模块开始进行文本翻译,它将寻找到所有可翻译的目标码并令它们进入到Nucleus WebBrowse的I/O模块中。当所有这些目标码均被翻译和显示之后,Nucleus WebBrowse的视窗上就会显示“DONE”的字样。

图像支持

Nucleus WebBrowse可运行在彩色和黑白屏幕上,它能够支持彩色的GIF和JPEG图像。其格式则包括Nucleus GRAFIX提供的均衡格式和固定格式。

分解器首先将摘录HTML文件中的标记符并将它们与相关的目标进行比较。无论这些文件是文本文件、连接文件还是图像文件,分解器均将这些信息填充在GUI的目标序列中。接着,它又将这些目标序列交给翻译器,由翻译器来辨别目标码的类型。如果目标为文本文件或连接文件,翻译器就将它们交给GUI。当翻译器检查完序列全部内容并将其交由GUI显示出来之后,翻译器将会再次检查目标序列,这一次它将摘录出图像文件以及除文本和连接文件之外的其他文件。之后它将向浏览器的I/O模块发出申请以重新获取HTML页面。一旦申请获准,HTML 页面将被发送到分解器以产生一个可显示的目标序列,该序列被送到GUI进行翻译显示。以上过程将不断重复,直到页面中所有的目标均被显示。

内存/文件管理

Nucleus WebBrowse是一个独立的程序,无须磁盘空间。然而,如果你的目标系统中含有块存储器件,Nucleus WebBrowse则能够利用它作为缓存Cache来存储目前访问的网页。作为一个可选功能,Nucleus WebBrowse能够支持嵌入式的文件系统与一个本地的磁盘文件系统共存。

外部文件系统模块(文件提取层)通过一个外部的文件系统来装载和显示网页及相关的脱机图形。文件提取层将被写入到Nucleus File文件系统中。但是,如果用户不想使用Nucleus File 文件系统的话,本模块还能够提供一种链接,支持用户选用其他的外部文件系统。

这样一来,当浏览器的I/O模块辨认出将获取的网页是基于一个外部文件系统时,它将调用这个外部文件系统模块来下载文件。接下来,这个外部文件系统模块又会调用HTML分解器来分解和翻译这个HTML码。

特征

●自包含的网络化显示机

●图形化的HTML视窗

●水平和垂直滚动条

●支持彩色GIF,生动的GIF和JPEG图像

●支持超链接的指示器/鼠标器

●兼容HTML3.2

●网络化界面

●通过Nucleus NET支持HTTP1.0

●字符显示(行模式)

●LCD或PLASMA字符矩阵

●彩色和灰阶LCD显示

●支持基于像素的显示屏

●专为小屏幕显示而优化

●多格式、尺寸和类型

●对图像按比例缩小以支持小屏幕显示

●无须调整即可支持小屏幕显示

通过PDA、蜂窝电话以及因特网电视机顶盒等非桌面设备来接入因特网的要求已日益迫切。Nucleus WebBrowse作为一种嵌入式环境下工作的浏览器能够运行在支持Nucleus NET的任何CPU平台上。

目前,支持HTML4.0和HTTP1.1以及SSL的Nucleus WebBrowse已经在测试中。

七、Nucleus的应用领域和国内外用户

●Nucleus主要应用领域在:网络、路由、桥接、Hubs、数据通讯、顶置盒、数字摄像机、ISDN、

调制器、数字绘图仪、GSM、蜂窝电话、PDA、打印机、GPS、无线通讯、汽车、医疗仪器、RAID、适配卡、智能卡、安全保密、工业控制、扫描仪、煤气分析仪、游戏机、多媒体、手持产品、消费产品、局域网、广域网、导航设备、卫星通信、自动提款机、视频产品、条码机、过程控制等等

●Nucleus部分典型的用户名单:

AT&T/Lucemt, Blaupunkt, Compaq Computer, Canon, Chrysler Technologies, Dassault SA, DOD, Draper Labs, Eastman Kodak, Ford Motor Company, General Motors, General Electric, GE Medical, Goddard Space Flight Systems, Fujitsu, Harris Digital Phone, Hewlett Packard, IBM, IGT Interface Systems, Kenwood CorporMentor Graphics ESDon, Lucent ,Mannesmann Tally Corp, M.I.T., Motorola, NASA, NEC, Network Peripherals, Nippon Denso, MSA Baseline, Orbitel Mobile Comm, Psi Printer GmbH, Philips Semiconductor, Rockwell InternMentor Graphics ESDonal, Sagem SA, Samsung Electronics, Siemens, Sony Corp, Storage Technology, Texas Instruments, Takasago Corp, Toyota, Video Lottery, Video Guide, VLSI, Westinghouse, Xircom, Zitel

●国内部分用户:

航天部204所,邮电部数据所,北京卡斯特,航空部614所,中科院沈阳自动化所,北京千网数据公司,北京凌云公司,清华大学,长沙国防科技大学,复旦大学,华北电力大学,郑州信息工程学院,烟台东方电子集团,深圳桑达,上海博达,深圳迈瑞,深圳天地通讯,铁道部大连内燃机车研究所,总参机要局,南京南瑞总公司,航天第二设计院,西安仪表,郎讯(中国)有限公司,海军计算所,恒基伟业,广州金鹏集团,杭州东方集团,福州新大陆,深圳康佳,西安东强,北京华大集成电路设计中心,广东信利集团,香港IDT,香港讯研,太原中航仪表集团,新科电子,上海中兴,上海广电,石家庄54所,总参56所,

武汉邮科院,上海德理,上海贝尔,斯高柏(C-Cube )、航天部503所等等

八、 Nucleus 操作系统的成功案例

1、 Nucleus 操作系统在通讯设备上的应用

● 以Nucleus 操作系统为核心的路由器方案

这是一个以MPC8260处理器为核心的中档路由器框图,支持高速以太网、1553M ATM 及用于远程连接的串行接口。由于MPC8260具有多各网络接口和多种通信协议的能力,并且可以

直接无缝连接SDRAM 等多种存储器设备,因此,用它来构造路由器的硬件平台非常容易。

软件是路由器的关键技术,我们向客户推荐以Nucleus PLUS 操作系统为核心,配合Future 协议软件包的软件方案。Future 软件包支持TCP/IP 协议、RIP-II/OSPF-II/BGP-4路由协议、HTTP Server 、基于WWW 的网络管理和x.25、ISDN 、帧中继及ATM 等广域网协议

2、 Nucleus 操作系统在消费类电子产品上的应用

用Nucleus 操作系统在消费类电子产品上的应用

Transceiver Base-T Power QUICC II 10/100 MII UTOPIA8 MultiPHY 155 Mbps ATM PHY 10/100 Base-T MII Transceiver SCC/SMC

Slow Serial PHY PPC BUS SDRAM FLASH LOCAL BUS SDRAM System Memory ATM Conn . Table

上图所示的系统是Motorola公司提供的一个MPC860方案。用户可以根据自己的需要对该平台进行裁剪,例如开发家用的机顶盒,就不需要LCD显示,可以适当地保留CRT接口;此外对PCMCIA、SmartCard、Ethernet等部分也可以进行裁剪;若要在产品中加入VCD/DVD功能,则要添加CDROM/DVDROM接口和相应的解码器。

Nucleus及其相关产品为家用机顶盒提供了完备的解决方案,包括Nucleus PLUS内核、NET4.2网络模块、Graphix图形及窗口系统和WWW浏览器软件,开发系统可选用DIAB编译器和SDS调试器。

●由Nucleus操作系统与ARM7构成POS系统

ARM7是一颗高性能的CPU内核,经过Atmel、TI、Philips、Sharp等多家公司增加的外围功能构成了高集成度、低功耗的RISC芯片,非常适于开发智能信息产品。下面以Cirrus Logic 的CL7500FE为例介绍一种基于ARM7的POS系统。

Nucleus提供从内核开始到图形化界面、网络、文件管理系统等完整的功能模块。为POS 系统实现其先进功能提供了保证。开发环境为SDT2.5编译、连接定位器。调试可采用MENTOR GRAPHICS ESD公司提供的UDB4.2。

● Nucleus 操作系统与ARM7构成PDA

ARM7系列系列芯片具有高速、低功耗、集成度高等特点,非常适合用于开发PDA 设备。这里向大家介绍一个韩国现代电子提供的以GMS30C7201芯片为核心的PDA 方案。

针对ARM7平台的嵌入式系统开发,我们为用户提供了完整的解决方案:

● 操作系统:NUCLEUS

● 编译器:ARM SDT / GREEN HILL

● 仿真器:JENNI

在这一平台上,我们选用MENTOR GRAPHICS ESD 公司的NUCLEUS 操作系统及相应的文件系统、图形软件包、网络模块和浏览器来实现PDA 的各种功能。现在已经完成了大部分的软件移植工作:NUCLEUS 内核、文件系统、图形软件包、TCP/IP 网络模块(使用PPP 拨号上网)以及各种片上设备的驱动,浏览器的移植也即将完成。

Flash Memory Disk on Chip

3、Nucleus在医疗系统中的应用

在诸如B超、CT、病人监护仪等等医疗设备中,由于系统功能越来越复杂而采用了各种先进的CPU来进行控制和计算,并且随着其软件量的增大而逐步应用RTOS来进行管理。在此我们以Nucleus和Motorola ColdFire5206为例说明该系统。

该系统软件以Nucleus PLUS为调度内核,通过Nucleus NET、Nucleus GRAPHIX以及Nucleus FILE等网络、图形及文件系统来进行数据存储、显示和传输。病人身体2部分的情况由各传感器得到数据后,系统将进行全面而自动的管理。调试环境为SDS的SingleSTEP,主机可通过BDM口来控制整个系统。

4、Nucleus在电力系统中的应用

目前随着对电力系统进行集中控制以及远程监控的需求,许多设备的功能日益复杂。在硬件方面,以Motorola 68300系列为代表的CPU平台为系统提供了控制核心。其中68332和68360构成了很多典型的应用。在软件方面,由于多任务调度和通讯协议的需要,RTOS的运用应运而生。在此我们以Nucleus和68332平台为例来构成一个此类系统。

该系统采用Nucleus PLUS

务执行的参数,以Nucleus设立的优先级来进行自动切换,从而实现报警、调度等的自动控制。

调试环境为GreenHill的Mutil集成开发环境。

5、Nucleus在美国军方的应用简例

Nucleus实时多任务操作系统经过全球超过5000家用户的大量技术应用,其技术性能和可靠性得到了广泛的认可。目前,Nucleus已经在通讯、工业控制、航空航天、消费电子、机顶盒、多媒体以及军事等众多的领域中被广泛使用。

在美国,作为该操作系统的诞生地,Nucleus更是日益流行。由于Nucleus带源码,出于对安全性的考虑,Nucleus也被军方越来越多地应用在军用电子设备和系统中。下面我们对Nucleus 在美国军方的几个应用实例作一个简单的说明。

一、NASA

应用系统:GPS卫星

CPU类型:ARM6/7

联络人: Rick Niles(联系电话:301-286-3069)

技术说明:主控平台采用ARM6/7智能CPU核,配合Nucleus操作系统内核进行内部的多任务调度,完成GPS卫星上的各种控制过程。

二、Addisoft公司

应用系统:战斗机航空通讯

CPU类型:386/486PM

联络人:Mike Majors(联系电话:254-666-9426)

技术说明:CPU平台采用INTEL的X86保护模式,Nucleus操作系统的内核进行任务调度,配合Nucleus的网络模块Nucleus NET完成战斗机飞行员与基地间的通信过程。

三、Litton Poly-Scientific公司

应用系统:政府安全系统

CPU类型:68306

联络人:Bill Scott(联系电话:703-951-4451)

技术说明:68306是Motorola公司的一颗特殊CPU,其内核为MC68000,外围增加了一些控制电路。利用这颗CPU为平台的控制系统配合Nucleus操作系统,完成整个安全系统的控制和调度。

四、Ametek Aerospace公司

应用系统:飞行振动分析系统

CPU类型:C31BT++

联络人:Bob Bianchi(联系电话:978-988-4167)

技术说明:不详

五、NASA

应用系统:不详

CPU类型:LR33000

联络人:Alan Cudmore(联系电话:301-286-4339)技术说明:不详

操作系统试卷二

1.在一个计算机系统中,特权指令(A)下执行。 A.只能在管态 B.只能在用户态 C.可在管态,也可在用户态 D.不能在管态,也不能在用户态 2.实时操作系统必须在__ C _____内完成来自外部的事件。 A.响应时间 B.周转时间 C.规定时间 D.调度时间 3、最适合分时系统的进程调度算法是( D ) 。 A.FCFS B.SSJF C.优先数法 D.轮转法 4.进程从运行状态进入就绪状态的原因可能是_ D____。 A.被选中占有处理机 B.等待某一事件 C.等待的事件已发生 D.时间片用完 5.设有五个进程共享一个互斥段,在同一时间最多允许一个进程进入互斥段,则所采用的互斥信号量初值应该是___ C _____。 A.5 B.2 C.1 D.0 6.银行家算法在解决死锁问题中是用于的。B A.预防死锁 B.避免死锁 C.检测死锁 D.解除死锁 7.在下列存储管理方案中,不适应于多道程序设计的是__ A ______。 A.单一连续分配 B.固定式分区分配 C.可变式分区分配 D.段页式存储管理 8.UNIX文件的目录结构采用__ D ______。 A.简单目录 B.二级目录 C.系统目录 D.带交叉勾链的树型目录 9.文件系统的主要目的是___ A _____。 A.实现对文件的按名存取 B.实现虚拟存储 C.提高外存的读写速度 D.用于存储系统文件 10.下列算法中用于磁盘移臂调度的是。C A时间片轮转法 B.LRU算法 C.最短寻找时间优先算法 D.优先级高者优先算法 二、判断题(5*2分) 1.采用多道程序设计的系统中,系统的程序道数越多,系统的效率就越高。错 2.作业的联机控制方式适用于终端作业。对 3.时间片越小,系统的响应时间就越小,系统的效率就越高。错 4.程序的并发执行是指同一时刻有两个以上的程序,它们的指令在同一处理器上执行。错 5.按最先适应算法分配的分区,一定与作业要求的容量大小最接近。错 三、填空题(5*2分) 1.为实现CPU与外部设备的并行工作,系统引入了____中断和通道______硬件机制。 2.UNIX系统采用___索引_____结构存放文件物理块的地址。 3.文件的符号名与物理地址的转换是通过_文件目录______实现的。 4.用户编程时使用____逻辑____地址,处理机执行程序时使用__物理________地址。 5.采用资源有序分配算法可以__预防___死锁的发生。

嵌入式实时操作系统

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

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

操作系统考试题

一、单项选择题(每小题2分,共20分)。 1. 所谓()是指将一个以上的作业放入内存,并且同时处于运行状态,这些作业共享处理机的时间和外围设备等其他资源。 A. 多重处理 B. 实时处理 C. 多道程序设计 D. 并行执行 2. 实时操作系统必须在()内处理完来自外部的事件。 A. 响应时间 B. 规定时间 C. 周转时间 D. 调度时间 3. 在操作系统中,P、V操作是一种()。 A.机器指令 B.系统调用命令 C.作业控制命令 D.低级进程通信原语 4. 若信号量S的初值为2,当前值为-1,则表示有()等待进程。 A.3个 B.2个 C.1个 D.0个 5. 两个进程合作完成一个任务,在并发执行中,一个进程要等待其合作伙伴发来信息或者建立某个条件后再向前执行,这种关系是进程间的()关系。 A. 同步 B. 互斥 C. 竞争 D. 合作 6. 一作业从8:00到达系统,估计运行时间为1小时。若10:00开始执行该作业,其响应比是()小时。 A. 2 B. 1 C. 0.5 D. 3 7. 如果地址转换的时间在程序开始前完成,在程序运行时无需再进行地址转换,则称为()。 A. 静态分配 B. 静态重定位 C. 动态分配 D. 动态重定位 8. 在分段存储管理的中,所产生的地址是由段号和偏移量组成,它是()地址结构。 A. 一维 B. 二维 C. 三维 D. 不一定 9. 按()分类可将设备分为块设备和字符设备。 A. 信息交换单位 B. 操作特性 C. 共享属性 D. 从属关系 10. 能实现“按名存取”的是()。

A. 一级目录结构 B. 二级目录结构 C. 树形目录结构 D. 以上都是 二、简答题(每小题6分,共30分) 1. 试比较分时操作系统与实时操作系统。 2. 何谓死锁?产生死锁的原因和必要条件是什么? 3.动态分区管理的常用内存分配算法有哪几种?比较它们各自的优缺点。 4.按照信息交换方式和连接设备种类的不同,通道可分为哪三种类型?请分别 描述这三种通道的工作方式。 5. 文件有哪几种逻辑结构?有哪几种物理结构? 三、综合计算题(每小题10分,共40分) 1. 若系统运行中出现如下图所示的资源分配情况,该系统是否安全?如果进程P2此时提出资源申请(1,2,2,2),系统能否将资源分配给它?为什么? 2.在一个请求分页系统中,假如一个作业的页面走向为2、3、2、1、5、2、4、 5、3、2、5、2,当分配给该作业的物理块数M为3时,应用下面的页面替 换算法,分别计算在访问过程中所发生的缺页次数(提示:所给定的页块初始均为空,因此,首次访问一页时就会发生缺页中断)。 ⑴先进先出算法(FIFO) ⑵最近最久未使用算法(LRU)

操作系统原理复习题库完整

计算机操作系统期末复习题 声明:本题库容仅供参考 注:1-简单2-一般3-较难4-难 第一部分操作系统基本概念 一、选择题(选择最确切的一个答案,将其代码填入括号中) 1、操作系统是一种()。 A、应用软件 B、系统软件 C、通用软件 D、工具软件 答案-1:B 2、计算机系统的组成包括()。 A、程序和数据 B、处理器和存 C、计算机硬件和计算机软件 D、处理器、存储器和外围设备 答案-1:C 3、下面关于计算机软件的描述正确的是()。 A、它是系统赖以工作的实体 B、它是指计算机的程序及文档 C、位于计算机系统的最外层 D、分为系统软件和支撑软件两大类 答案-2:B 4、财务软件是一种()。 A、系统软件 B、接口软件 C、应用软件 D、用户软件 答案-2:C 5、世界上第一个操作系统是()。 A、分时系统 B、单道批处理系统 C、多道批处理系统 D、实时系统 答案-1:B 6、批处理操作系统提高了计算机的工作效率,但()。 A、系统资源利用率不高 B、在作业执行时用户不能直接干预 C、系统吞吐量小 D、不具备并行性 答案-3:B 7、引入多道程序的目的是()。 A、为了充分利用主存储器 B、增强系统的交互能力

C、提高实时响应速度 D、充分利用CPU,减少CPU的等待时间 答案-3:D 8、在多道程序设计的计算机系统中,CPU()。 A、只能被一个程序占用 B、可以被多个程序同时占用 C、可以被多个程序交替占用 D、以上都不对 答案-2:C 9、多道程序设计是指()。 A、有多个程序同时进入CPU运行 B、有多个程序同时进入主存并行运行 C、程序段执行不是顺序的 D、同一个程序可以对应多个不同的进程 答案-3:B 10、从总体上说,采用多道程序设计技术可以()单位时间的算题量,但对每一个算题,从算题开始到全部完成所需的时间比单道执行所需的时间可能要()。 A、增加减少 B、增加延长 C、减少延长 D、减少减少 答案-4:B 11、允许多个用户以交互使用计算机的操作系统是()。 A、分时系统 B、单道批处理系统 C、多道批处理系统 D、实时系统 答案-2:A 12、下面关于操作系统的叙述正确的是()。 A、批处理作业必须具有作业控制信息 B、分时系统不一定都具有人机交互功能 C、从响应时间的角度看,实时系统与分时系统差不多 D、由于采用了分时技术,用户可以独占计算机的资源 答案-3:A 13、操作系统是一组()。 A、文件管理程序 B、中断处理程序 C、资源管理程序 D、设备管理程序 答案-1:C 14、现代操作系统的两个基本特征是()和资源共享。 A、多道程序设计 B、中断处理 C、程序的并发执行 D、实现分时与实时处理 答案-1:C 15、()不是操作系统关心的主要问题。 A、管理计算机裸机

嵌入式实时操作系统ucos期末考试题

嵌入式实时操作系统ucos期末考试题

一、名词解释: 1、OS:操作系统 2、MCU:微控制器 3、ISR:中断服务子程序 4、FIFO:先进先出 5、TCB:Task Control Block,任务控制块 6、API:应用程序接口 7、RTOS:实时操作系统 8、UART:通用异步收发传输器 9、MMU:内存管理单元 10、JTAG:边界调试接口 二、填空题 1、( 优先级抢占和时间片轮转 )是一种运行时间一到就剥夺进程处理器使用权的剥夺式调度。 2、实时系统的两个基本要求:( 逻辑或功能正确 )、时间正确。所谓时间正确是指 (实时系统的计算必须在预定的时间内完成)。 3、临界区是指( 处理时不可分割的代码、每个进程中访问临界资源的那段程序 ) 4、UCOS调用系统延时最小时间单位( 毫秒 ) 5、UCOS配置文件中OS_TICKS_PER_SEC的数值定义为32,含义是(时钟频率为32 hz)

6如果某一个任务不是必须的监控任务,我们一般采用( 动态内存管理 )的机制来创建该任务所需要的变量内存空间,要想能使用这种机制,必须首先将内存交给(操作系统)来统一管理 7、如果系统中某一个资源属于独占资源,n个任务都需要使用,标准的做法是使用(互斥信号量)来解决 8、在UCOS中,优先级用一个数字表示,数字越大表示任务的优先级别越(低) 9、优先级调度的( 任务就绪表 )标志进程抢占处理器的权利大小。 10、(任务控制块)主要用来记录任务的堆栈指针,任务的当前状态,任务的优先级别等一些与任务管理有关的属性的表。 11、临界区是指( 保证共享资源的完整性和可靠性的代码段 )。 12、可重入指的是(是一段代码(如一个函数)可以被多个任务同时调用,而不必担心会破坏数据)。

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

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

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

操作系统模拟试题(含答案)

、单项选择题 1、从用户的观点看,操作系统是( A ) A 、用户与计算机之间的接口 B 、控制和管理计算机资源的软件 C 、合理的组织计算机工作流程的软件 D 、由若干层次的程序按一定的结构组成的有机体 2、实时操作系统必须在( C )内处理完来自外部的事件 A 、响应时间 B 、周转时间 C 、规定时间 D 、调度时间 3、在操作系统中, P 、V 操作是一种( D ) A 、机器指令 B 、系统调用命令 C 、作业控制命令 D 、低级进程通信原语 4、下面对进程的描述中,错误的是( D ) A 、进程是动态概念 B 、进程执行需要处理机 C 、进程是有生命期的 D 、进程是指令的集合 5、下面所述步骤中, ( A )不是创建进程所必需的。 A 、由调度程序为进程分配 CPU B 、建立一个进程控制块 C 、为进程分配内存 D 、将进程控制块链入就绪队列 6、对于两个并发进程,设互斥信号量为 mutex ,若 mutex = 0,则( B ) A 、表示没有进程进入临界区 B 、表示有一个进程进入临界区 C 、表示有一个进程进入临界区,另一个进程等待进入 D 、表示有两个进程进入临界区 7、系统中有 n ( n > 2)个进程,且当前不在执行进程调度程序,试考虑下列 是( A ) A 、没有运行进程,有 2 个就绪进程, n-2 个进程处于等待状态 B 、有 1 个运行进程,没有就绪进程, n - 1个进程处于等待状态 C 、有 1 个运行进程,有 1个就绪进程, n -2 个进程处于等待状态 D 、有 1 个运行进程,有 n -1 就绪进程,没有进程处于等待状态 8、为多道程序提供的可共享资源不足时,可能出现死锁。但是,不适当的( A 、进程优先权 B 、资源的线性分配 操作系统模拟试题 4 种情况,不可能发生的情况 C )也可能产生死锁。

嵌入式软件开发流程图

嵌入式软件开发流程 一、嵌入式软件开发流程 1.1 嵌入式系统开发概述 由嵌入式系统本身的特性所影响,嵌入式系统开发与通用系统的开发有很大的区别。嵌入式系统的开发主要分为系统总体开发、嵌入式硬件开发和嵌入式软件开发3大部分,其总体流程图如图1.1所示。 图1.1 嵌入式系统开发流程图 在系统总体开发中,由于嵌入式系统与硬件依赖非常紧密,往往某些需求只能通过特定的硬件才能实现,因此需要进行处理器选型,以更好地满足产品的需求。另外,对于有些硬件和软件都可以实现的功能,就需要在成本和性能上做出抉择。往往通过硬件实现会增加产品的成本,但能大大提高产品的性能和可靠性。 再次,开发环境的选择对于嵌入式系统的开发也有很大的影响。这里的开发环境包括嵌入式操作系统的选择以及开发工具的选择等。比如,对开发成本和进度限制较大的产品可以选择嵌入式Linux,对实时性要求非常高的产品可以选择Vxworks等。

1.2 嵌入式软件开发概述 嵌入式软件开发总体流程为图4.15中“软件设计实现”部分所示,它同通用计算机软件开发一样,分为需求分析、软件概要设计、软件详细设计、软件实现和软件测试。其中嵌入式软件需求分析与硬件的需求分析合二为一,故没有分开画出。 由于在嵌入式软件开发的工具非常多,为了更好地帮助读者选择开发工具,下面首先对嵌入式软件开发过程中所使用的工具做一简单归纳。 嵌入式软件的开发工具根据不同的开发过程而划分,比如在需求分析阶段,可以选择IBM的Rational Rose等软件,而在程序开发阶段可以采用CodeWarrior(下面要介绍的ADS 的一个工具)等,在调试阶段所用的Multi-ICE等。同时,不同的嵌入式操作系统往往会有配套的开发工具,比如Vxworks有集成开发环境Tornado,WindowsCE的集成开发环境WindowsCE Platform等。此外,不同的处理器可能还有对应的开发工具,比如ARM的常用集成开发工具ADS、IAR和RealView等。在这里,大多数软件都有比较高的使用费用,但也可以大大加快产品的开发进度,用户可以根据需求自行选择。图4.16是嵌入式开发的不同阶段的常用软件。 图1.2 嵌入式开发不同阶段的常用软件 嵌入式系统的软件开发与通常软件开发的区别主要在于软件实现部分,其中又可以分为编译和调试两部分,下面分别对这两部分进行讲解。 1.交叉编译 嵌入式软件开发所采用的编译为交叉编译。所谓交叉编译就是在一个平台上生成可以在另一个平台上执行的代码。在第3章中已经提到,编译的最主要的工作就在将程序转化成运行该程序的CPU所能识别的机器代码,由于不同的体系结构有不同的指令系统。因此,不同的CPU需要有相应的编译器,而交叉编译就如同翻译一样,把相同的程序代码翻译成不同CPU的对应可执行二进制文件。要注意的是,编译器本身也是程序,也要在与之对应的某一个CPU平台上运行。嵌入式系统交叉编译环境如图4.17所示。

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

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

嵌入式实时操作系统ucos期末考试题

一、名词解释: 1、OS:操作系统 2、MCU:微控制器 3、ISR:中断服务子程序 4、FIFO:先进先出 5、TCB:Task Control Block,任务控制块 6、API:应用程序接口 7、RTOS:实时操作系统 8、UART:通用异步收发传输器 9、MMU:内存管理单元 10、JTAG:边界调试接口 二、填空题 1、( 优先级抢占和时间片轮转)是一种运行时间一到就剥夺进程处理器使用权的剥夺式调度。 2、实时系统的两个基本要求:( 逻辑或功能正确)、时间正确。所谓时间正确是指 (实时系统的计算必须在预定的时间内完成)。 3、临界区是指( 处理时不可分割的代码、每个进程中访问临界资源的那段程序) 4、UCOS调用系统延时最小时间单位( 毫秒) 5、UCOS配置文件中OS_TICKS_PER_SEC的数值定义为32,含义是(时钟频率为32 hz) 6如果某一个任务不是必须的监控任务,我们一般采用( 动态内存管理)的机制来创建该任务所需要的变量内存空间,要想能使用这种机制,必须首先将内存交给(操作系统)来统一管理 7、如果系统中某一个资源属于独占资源,n个任务都需要使用,标准的做法是使用(互斥信号量)来解决 8、在UCOS中,优先级用一个数字表示,数字越大表示任务的优先级别越(低) 9、优先级调度的( 任务就绪表)标志进程抢占处理器的权利大小。 10、(任务控制块)主要用来记录任务的堆栈指针,任务的当前状态,任务的优先级别等一些与任务管理有关的属性的表。 11、临界区是指( 保证共享资源的完整性和可靠性的代码段)。 12、可重入指的是(是一段代码(如一个函数)可以被多个任务同时调用,而不必担心会破坏数据)。 13、某事件周期不确定,持续时间较短,处理容忍度较长,通常我们采取在(任务就绪表)中发现该事件,在(任务调度)中处理该事件。 14、如果系统中有2个资源,n个任务都需要使用,标准的做法是使用(互斥信号量)来解决。 15、在UCOS中,最低优先级自动赋给( 空闲任务)这个系统任务。 16、对CPU资源进行分配的两种操作系统常见调度算法为__(任务级调度_)和(中断级调度)。 17、uC/OS中,主要依靠_(任务堆栈_)来保存任务工作环境。 18、uC/OS为加快就绪任务的检索速度,定义了_OSRdyTbl[]______数组保存所有任务的就绪状态,定义了变量_OSRdyGrp______来表明上面的数组中有那些行有任务就绪。

单片机实时操作系统RTOS

51单片机实时操作系统 作者:徐少伟日期:2013年12月07日 摘要本文着重介绍了运行在51单片机上基于片轮询式实时操作系统RTOS的构建,讨论了实时操作系统的运行原理和设计思路。关键词:51单片机、片轮询、实时操作系统RTOS 1前言 随着计算机技术的发展,计算机已经被广泛地应用到各个领域中。而在控制领域,人们更多地关心计算机的低成本、小体积、运行的可靠性和控制的灵活性。特备是智能仪表、智能传感器、智能家电、智能办公设备、汽车及军事电子设备等应用系统要求计算机嵌入这些设备中。而作为嵌入式计算机的单片机因其体积小、可靠性高、控制功能强以及非凡的嵌入式应用形态,使得单片机应用技术已经成为电子应用系统设计中最为常用的技术手段。 在工业控制方面,因工业环境对计算机的可靠性和实时性的要求特别高,而诸如51系列的单片机的片上资源比较有限,因此开发并构建一种应用于单片机上的实时多任务操作系统已成为一种迫切的需求。 2实时操作系统设计概述2.1实时多任务操作系统(RTOS)简介 过去一个单片机应用程序所控制的任务和外设不多,采用一个主程序和几个子程序模块的调用,即可满足要求。但随着应用的复杂化,对单片机软件提出了更高的要求。一个控制器系统可

能需要同时控制或监控很多外设,要求有实时响应;有很多处理的任务,各种任务之间有信息的传递。如果仍采用原来的程序设计方法,将会存在两个问题。一是中断可能得不到及时响应,处理时间过长。二是系统任务多,要考虑的各种可能也多,各种资源如调度不当就会发生死锁,降低软件的可靠性,程序编写的任务量成指数增加。 实时操作系统是一段系统启动后首先执行的背景程序,用户的应用程序是运行在RTOS之上的各个任务。RTOS根据各个任务的要求,进行资源(包括存储器、外设等)管理、消息管理、任务调度、异常处理等工作。 实时多任务操作系统,以分时方式运行的多个任务,看上去好像是多个任务“同时”运行。标准的RTOS应具有任务调度、中断处理、事件管理、定时器管理、循环队列管理、资源管理、存储管理、自动掉电管理等功能,基于优先服务方式的RTOS才是真正的实时操作系统。 本文主要讨论了基于时间分片轮询方式,即片轮询方式的多任务操作系统,重点介绍多任务实时操作系统的原理和构建方法,为深入研究真正意义上的实时多任务操作系统RTOS奠定一定的理论和思想基础。 2.2实时多任务操作系统(RTOS)任务切换 在实时操作系统RTOS中,任务的切换方式有三种:协同方式、时间片轮询方式以及抢占优先级方式。 2.2.1协同方式 所谓“协同方式”,是指一个任务在持续运行而不释放资源,其他任务是没有机会获得运行

操作系统随堂练习答案

1.实时操作系统必须在()内处理完来自外部的事件。 A.响应时间 B.周转时间 C.被控对象规定时 间 D.调度时间 答题: A. B. C. D. (已提交) 参考答案:C 问题解析: 2.操作系统是对()进行管理的软件。 A.软件 B.硬件 C.计算机资 源 D.应用程序 答题: A. B. C. D. (已提交) 参考答案:C 问题解析: 3.配置了操作系统的计算机是一台比原来的物理计算机功能更强的计算机,这样的一台计算机只是一台逻辑上的计算机,称为()计算机。 A. 并行 B. 真实 C. 虚 拟 D. 共享 答题: A. B. C. D. (已提交) 参考答案:C 问题解析: 4.操作系统中采用多道程序设计技术提高了CPU和外部设备的() A. 利用率 B. 可靠性 C. 稳定 性 D. 兼容性 答题: A. B. C. D. (已提交) 参考答案:A 问题解析: 5.在操作系统中,并发性是指若干事件____发生( ) A. 在同一时刻 B. 在不同时 刻 C. 在某一时间间隔内 D. 依次在不同时间间隔内 答题: A. B. C. D. (已提交) 参考答案:C

A. B. C. A. B. C. . . . .

. . 1.如果有三个进程共享同一互斥段,而且每次最多允许两个进程进入互斥段,则信号量的初值应设置为( ) A. 3 B. 2 C. 1 D. 0 答题: A. B. C. D. (已提交) 参考答案:B 问题解析: 2.若信号量S的初值为2,当前值为-1,则表示有____个等待进程( ) A. 0 B. 1 C. 2 D. 3 答题: A. B. C. D. (已提交) 参考答案:B 问题解析: 3.临界区是( ) A. 一个缓冲区 B.一段共享数据区 C.一段程 序 D. 一个互斥资源 答题: A. B. C. D. (已提交) 参考答案:C 问题解析:

嵌入式实时操作系统报告

学号: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、

智慧树知到《操作系统原理》章节测试答案

智慧树知到《操作系统原理》章节测试答案 第一章单元测试 1、允许多个用户将若干个作业提交给计算机系统集中处理的操作系统称为()。A:网络操作系统 B:分时操作系统 C:实时操作系统 D:批处理系统 正确答案:批处理系统 2、()是指两个或两个以上的活动或事件在同一时间间隔内发生。 A:并行 B:并发 C:共享 D:同步 正确答案:并发 3、操作系统()采用了分层式结构进行设计。 A:UNIX B:IBM OS/360 C:Multics D:MS-DOS 正确答案:Multics 4、批处理系统的运行方式有()等几种。 A:执行系统

B:加载系统 C:早期批处理 D:脱机批处理 E:联机批处理 正确答案:执行系统,早期批处理,脱机批处理,联机批处理 5、分时操作系统具有()的特征。 A:及时性 B:多路性 C:异步性 D:独占性 E:交互性 正确答案:及时性,多路性,独占性,交互性 6、多道程序设计技术必须要在多个处理器上才能实现。 A:对 B:错 正确答案:错 7、虚拟机通过软件模拟硬件系统功能,可以将一台计算机虚拟成多个计算机。A:对 B:错 正确答案:对 8、互斥访问的计算机资源不能被共享。 A:对

B:错 正确答案:错 9、实时操作系统不需要具有很强的交互能力。 A:对 B:错 正确答案:对 10、Minix3是由荷兰Vrije大学计算机科学系Dijkstra 教授领导开发的。A:对 B:错 正确答案:错 第二章单元测试 1、处理器管理的核心问题是()。 A:处理器调度 B:进程管理 C:作业管理 D:线程管理 正确答案:进程管理 2、()是操作系统感知进程存在的惟一标志。 A:JCB B:TCB C:FCB D:PCB

关于嵌入式系统软件的全过程质量保证精

关于嵌入式系统软件的全过程质量保证 质量是产品的生命 当今随着软、硬件技术的发展,嵌入式系统广泛应用于航空航天、国防军事、电子通信等行业,其中软件也越来越复杂。而这些领域应用特点,决定了嵌入式系统往往是高安全、任务关键的系统,软件的微小瑕疵就可能严重威胁到生命和国家的安全、天文数字的巨额财产损失。这就使得保证嵌入式软件的质量和可靠性,变得至关重要。而在这些领域,对产品质量从来就保持着高度的重视,有将“质量视为产品的生命”的传统。这样,相关行业的高层管理人员和开发人员对于软件的质量也逐渐提高了重视程度。近年来,在组织上,建立了完善的软件测试体系;在开发和测试方法上,建立了中国的软件过程成熟度的评价体系GJB5OO0在自动化工具方面,投入了大量的经费和人员在测试设备的开发、购置和建设方面。应该说,软件作为嵌入式产品主要的组成部分之一,对其质量的重视是目前相关行业的一个共识。 IBM Rational多年来在软件工程和质量保证方面积累了丰富的方法和经验。本文依据部分嵌入式开发机构对软件质量保证工作的一些理解,分析相应开发机构工作中可能的问题,并提出以RUP为核心的全过程质量管理的思想和具体的实现方式,提出不同单位的过程改进方法,以一种渐进的方式,从简单的工作开始,逐渐深入地改进组织的软件质量管理水平。 定义质量 对于任何一个组织,定义共同的对质量的理解是重要的第一步。软件开发组织经常按照一种不精确的、概括的质量观念来运转。 在IBM Rational统一过程中,质量定义如下: 满足或超出认定的一组需求; 使用经过认可的评测方法和标准来评估; 使用认定的流程来生产。 在这个定义中,我们首先看需求,IBM Rati onal的软件质量在用户需求方面的定义分为五个方面:易用性、可靠性、性能、可支持和功能。 质量保证,归根结底就是为客户提供更高品质的产品,更好地满足客户的需求。另一方面,这个质量定义中明确指出,质量更体现在软件开发的整个过程和一个标准的评价方式上。 软件开发过程质量就是指为了生成工件而对可接受流程的实施和遵守程度,体现在三个层次: 产品本身和用来生产、组装软件产品的零部件质量; 在软件开发过程的标准化、流程化、自动化程度和团队基本协作平台的效率,各个过程对质量的承诺; 软件产品验收的评测手段应该是被业界广泛认可和接受的方法,所构筑的质量评价标准。 一个软件生产企业的过程质量一般可以用它的软件过程成熟度等级来评估。 RUP全过程质量保证 Rational Unified Process (RUP是一个可以通过Web来使用的软件工程过程。作为软件工业事实上的标准,它回答了我们以下问题:在整个软件开发的各个过程中,谁(角色)应该在什么时候(详细工作流程)做什么(任务)和产生什

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

(一)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,是开放源代

操作系统 随堂练习答案

答题: A. B. C. 参考答案:C 答题: A. B. C. D.参考答案:C 答题: A. B. C. 参考答案:C 答题: A. B. C. D.参考答案:A 答题: A. B. C. 参考答案:C 答题: A. B. C. D.参考答案:D

答题: A. B. C.参考答案:A 答题:对.错 参考答案:√ 答题:对.错 参考答案:√ 答题:对.错 参考答案:× 答题:对.错 参考答案:× 答题:对.错 参考答案:× 答题:错 参考答案:×

答题: A. B. C. 参考答案:B 答题: A. B. C. D.参考答案:B 答题: A. B. C. 参考答案:C 答题: A. B. C. D.参考答案:B 答题: A. B. C. D.参考答案:B 答题: A. B. C. D.参考答案:D

答题: A. B. C. 参考答案:A 答题: A. B. C. D.参考答案:D 答题:错 参考答案:√ 答题:对.错 参考答案:√ 答题:错 参考答案:√ 答题:对.错 参考答案:× 答题:对.错 参考答案:√ 答题:对.错 参考答案:√ 答题:错

答题:对.错 参考答案:× 答题: A. B. C. 参考答案:B 答题: A. B. C. D.参考答案:D 答题: A. B. C. D.参考答案:C 答题: A. B. C. D.参考答案:B

答题: A. B. C.参考答案:C 答题:对.错 参考答案:√ 答题:错 参考答案:√ 答题:对.错 参考答案:× 答题:对.错 参考答案:√ 答题:对.错 参考答案:× 答题: A. B. C.参考答案:B

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