三种通用嵌入式操作系统的分析与比较
冲动式与反动式汽轮机的优劣比较

冲动式与反动式汽轮机的优劣比较冲动式汽轮机的主要特点是蒸汽在喷嘴中膨胀,然后以高速冲击汽轮机的叶片,使叶片旋转从而将蒸汽的动能转化为机械能。
这种设计使蒸汽在膨胀过程中,压力和速度都迅速降低,而动能则转化为机械能。
效率较高:冲动式汽轮机的设计使其能有效地将蒸汽的动能转化为机械能,因此其效率相对较高。
结构简单:冲动式汽轮机的结构相对简单,设计和制造相对容易。
负荷能力受限:由于冲动式汽轮机中的蒸汽压力和速度在膨胀过程中迅速降低,因此其负荷能力相对较低。
热效率较低:虽然冲动式汽轮机的效率较高,但其热效率较低,因为蒸汽在膨胀过程中温度下降较快。
反动式汽轮机的主要特点是蒸汽在喷嘴中膨胀的同时,也向叶片的反方向流动,产生推力使叶片旋转。
这种设计使蒸汽在膨胀过程中,不仅速度降低,而且压力也降低。
负荷能力强:由于反动式汽轮机中的蒸汽压力和速度在膨胀过程中下降较慢,因此其负荷能力相对较强。
热效率较高:反动式汽轮机由于蒸汽膨胀过程中的温度下降较慢,因此其热效率相对较高。
结构复杂:反动式汽轮机的结构比冲动式汽轮机复杂,设计和制造难度较大。
对材料要求高:由于反动式汽轮机中的蒸汽同时向两个方向流动,对汽轮机的材料要求较高,需要使用更为耐用的材料。
冲动式汽轮机和反动式汽轮机各有其优缺点。
在选择使用时,需要根据实际的应用场景和需求进行权衡。
如果需要更高的效率和更简单的结构,冲动式汽轮机可能是一个更好的选择。
如果需要更高的负荷能力和更高的热效率,反动式汽轮机可能更适合。
汽轮机是现代火力发电厂的核心设备,其工作原理和设计结构对发电效率和经济性有着重要影响。
根据工作原理的不同,汽轮机可分为冲动式和反动式两种类型。
本文将详细介绍这两种汽轮机的特点,并通过比较分析得出它们的优劣。
冲动式汽轮机的主要特点是蒸汽首先在喷嘴中膨胀加速,然后进入动叶片,使叶片受到冲击而旋转。
这种设计使得蒸汽在喷嘴中转变为高速气流,并在动叶片上产生较强的冲击力,从而推动转子旋转。
单片机和linux嵌入式操作系统区别

单片机和linux嵌入式操作系统区别随着嵌入式行业硬件平台的性能增强,项目需求和功能日益复杂,ARM公司推出的 CORTEX-M3,更是让以往做单片机的工程师在芯片和技术选型面临两难选择,本专题将从芯片价格、整个系统的硬件软件设计及维护的成本等各个方面给您提供一个参考,并从技术角度分析单片机和带操作系统的系统的软件开发的异同点。
● 1.单片机与ARM等新处理器的价格比较● 2.带操作系统与不带操作系统的软件开发的区别● 2.1.驱动开发的区别● 2.2.应用程序开发的区别1. 单片机与ARM等新处理器的价格比较表1自己不熟悉的芯片和技术,最后的成本也可能更高。
2. 带操作系统与不带操作系统的软件开发的区别用通俗的话来说,一个处理芯片不运行操作系统,我们就把它称为单片机,而单片机编程就是写裸板程序,这个程序直接在板子上运行;相对的,另一种程序就是基于操作系统的程序,说得简单点就是,这种程序可以通过统一的接口调用“别人写好的代码”,在“别人的基础上”更快更方便地实现自己的功能。
2.1. 驱动开发的区别驱动开发的区别我总结有两点:能否借用、是否通用。
2.1.1 能否借用基于操作系统的软件资源非常丰富,你要写一个Linux设备驱动时,首先在网上找找,如果有直接拿来用;其次是找到类似的,在它的基础上进行修改;如果实在没有,就要研究设备手册,从零写起。
而不带操作系统的驱动开发,一开始就要深入了解设备手册,从零开始为它构造运行环境,实现各种函数以供应用程序使用。
举个例子,要驱动一块LCD,在单片机上的做法是:①首先要了解LCD的规格,弄清楚怎么设置各个寄存器,比如设置LCD的时钟、分辨率、象素②划出一块内存给LCD使用③编写一个函数,实现在指定坐标描点。
比如根据x、y坐标在这块内存里找到这个象素对应的小区域,填入数据。
基于操作系统时,我们首先是找到类似的驱动,弄清楚驱动结构,找到要修改的地方进行修改。
下面是单片机操作LCD的代码:①初始化:void Tft_Lcd_Init(int type){/** 设置LCD控制器的控制寄存器LCDCON1~5* 1. LCDCON1:* 设置VCLK的频率:VCLK(Hz) = HCLK/[(CLKVAL+1)x2]* 选择LCD类型: TFT LCD* 设置显示模式: 16BPP* 先禁止LCD信号输出* 2. LCDCON2/3/4:* 设置控制信号的时间参数* 设置分辨率,即行数及列数* 现在,可以根据公式计算出显示器的频率:* 当HCLK=100MHz时,* Rate =1/[{(VSPW+1)+(VBPD+1)+(LIINEVAL+1)+(VFPD+1)}x* {(HSPW+1)+(HBPD+1)+(HFPD+1)+(HOZVAL+1)}x * {2x(CLKVAL+1)/(HCLK)}]* = 60Hz* 3. LCDCON5:* 设置显示模式为16BPP时的数据格式: 5:6:5* 设置HSYNC、VSYNC脉冲的极性(这需要参考具体LCD 的接口信号): 反转* 半字(2字节)交换使能*/LCDCON1 = (CLKVAL_TFT_320240<<8) | (LCDTYPE_TFT<<5) | \(BPPMODE_16BPP<<1) | (ENVID_DISABLE<<0);LCDCON2 = (VBPD_320240<<24) |(LINEVAL_TFT_320240<<14) | \(VFPD_320240<<6) |(VSPW_320240);LCDCON3 = (HBPD_320240<<19) | (HOZVAL_TFT_320240<<8) | (HFPD_320240);LCDCON4 = HSPW_320240;// LCDCON5 = (FORMAT8BPP_565<<11) | (HSYNC_INV<<9) | (VSYNC_INV<<8) | \// (HWSWP<<1);LCDCON5 = (FORMAT8BPP_565<<11) |(HSYNC_INV<<9) | (VSYNC_INV<<8) | (VDEN_INV << 6) | \(HWSWP<<0);/** 设置LCD控制器的地址寄存器LCDSADDR1~3* 帧内存与视口(view point)完全吻合,* 图像数据格式如下:* |----PAGEWIDTH----|* y/x 0 1 2 239* 0 rgb rgb rgb ... rgb* 1 rgb rgb rgb ... rgb* 1. LCDSADDR1:* 设置LCDBANK、LCDBASEU* 2. LCDSADDR2:* 设置LCDBASEL: 帧缓冲区的结束地址A[21:1]* 3. LCDSADDR3:* OFFSIZE等于0,PAGEWIDTH等于(240*2/2)*/LCDSADDR1 = ((LCDBUFFER>>22)<<21) |LOWER21BITS(LCDBUFFER>>1);LCDSADDR2 = LOWER21BITS((LCDBUFFER+ \(LINEVAL_TFT_320240+1 )*(HOZVAL_TFT_320240+1)*2)>>1);LCDSADDR3 = (0<<11) | (LCD_XSIZE_TFT_320240*2/2);/* 禁止临时调色板寄存器 */TPAL = 0;fb_base_addr = LCDBUFFER;bpp = 16;xsize = 320;ysize = 240;}②描点:/** 画点* 输入参数:* x、y : 象素坐标* color: 颜色值* 对于16BPP: color的格式为0xAARRGGBB (AA = 透明度),* 需要转换为5:6:5格式* 对于8BPP: color为调色板中的索引值,* 其颜色取决于调色板中的数值*/void PutPixel(UINT32 x, UINT32 y, UINT32 color){UINT8 red,green,blue;switch (bpp){case 16:{UINT16 *addr = (UINT16*)fb_base_addr + (y * xsize + x);red = (color >> 19) & 0x1f;green = (color >> 10) & 0x3f;blue = (color >> 3) & 0x1f;color = (red << 11) | (green << 5) | blue; // 格式5:6:5*addr = (UINT16) color;break;}case 8:{UINT8 *addr = (UINT8 *)fb_base_addr + (y * xsize + x);*addr = (UINT8) color;break;}default:break;}}下面是在Linux的LCD驱动里修改的地方(arch\arm\mach-s3c2440\mach-smdk2440.c):/* 320x240 */static struct s3c2410fb_mach_info smdk2440_lcd_cfg__initdata = {.regs = {.lcdcon1 = S3C2410_LCDCON1_TFT16BPP | \S3C2410_LCDCON1_TFT | \S3C2410_LCDCON1_CLKVAL(0x04),.lcdcon2 = S3C2410_LCDCON2_VBPD(1) | \S3C2410_LCDCON2_LINEVAL(239) | \ S3C2410_LCDCON2_VFPD(5) | \S3C2410_LCDCON2_VSPW(1),.lcdcon3 = S3C2410_LCDCON3_HBPD(36) | \S3C2410_LCDCON3_HOZVAL(319) | \S3C2410_LCDCON3_HFPD(19),.lcdcon4 = S3C2410_LCDCON4_MVAL(13) | \S3C2410_LCDCON4_HSPW(5),.lcdcon5 = S3C2410_LCDCON5_FRM565 |S3C2410_LCDCON5_INVVLINE |S3C2410_LCDCON5_INVV |S3C2410_LCDCON5_INVVDEN |S3C2410_LCDCON5_PWREN |S3C2410_LCDCON5_HWSWP,},.gpccon = 0xaaaa56aa,.gpccon_mask = 0xffffffff,.gpcup = 0xffffffff,.gpcup_mask = 0xffffffff,.gpdcon = 0xaaaaaaaa,.gpdcon_mask = 0xffffffff,.gpdup = 0xffffffff,.gpdup_mask = 0xffffffff,.fixed_syncs = 1,.type = S3C2410_LCDCON1_TFT,.width = 320,.height = 240,.xres = {.min = 320,.max = 320,.defval = 320,},.yres = {.max = 240,.min = 240,.defval = 240,},.bpp = {.min = 16,.max = 16,.defval = 16,},};这并不表示代码Linux的驱动程序就比单片机的驱动程序好写,怎么在几万个文件中找到要修改的代码,这也是需要艰苦的学习的。
嵌入式操作系统内存管理分析与探讨

以有 多个 内存 分 区, 应用程序可 以从 不同内存分 区得 到大小不 同的内 存块 , 释放 的内存块重新放 回到它之前所属 的内存分 区, 减少 了内存碎 片的产生 。 尽 管采用 内存分 区的方式来管理整个 内存区域 , 使得 系统 在 内存 的分配和 回收速度方面得到 了提高 , 并且减少 了内存碎 片的产 生, 但其弊端也是显然 的, 内存利用率并不 高。这是 因为任 意的内存请 求使得 系统都会分配 固定大小的内存块以满足需求 ,
科 技 信息
巅兀式操作 系统 内存管理分析与搽讨
河 南大 学软 件 学 院 孙 琳 刘 志丹
[ 要] 摘 在嵌入式操作 系统 的设计 中, 内存 管理是极 其重 存 管理 中的两个重要 问题—— 内存管理机制和 内存分配方式 , 为嵌入 式 系统 内 管理 的设计提供一定的参考价值。 存 [ 关键词 】 嵌入式 操作 系统 内存管理
2. C S 3e O
e O 全 称 是 E b d e of ua l O eaigS s m, R d a公 C S m e ddC ni rbe p rt yt 由 e ht g n e
而 国内对于嵌入式系统 的普遍定义 是: 以应用 为中心 、 以计算 机技术 为 基础 、 软件硬件可裁剪 、 应用 系统对 功能 、 适应 可靠性 、 成本 、 体积 、 功耗 严格要求的专用计算机系统 。 嵌入式 系统一般 由嵌 入式微处理器 、 外围硬件设备 、 嵌入式操作系 统、 特定 的应用程 序等几部分组成。其 中对于嵌入式操作系统的研究 , 也是 近些年来嵌入式 系统研究的热点 。 1 嵌 入 式 操 作 系 统 、 嵌 入式 操作 系统 E S E b d e O ea n s m 是 一种支 持嵌 O ( m ed d pr i S t ) tg y e 入 式 系统应 用 的操作 系统 软件 , 它是 嵌入 式 系统极 为重要 的组 成部 分 。运 行在嵌 入式环 境 中的E 不 同于我们常 用 的通 用型 的操作 系 OS 统, 它在性 能和实时性方 面有严格 的限制 , 受限于有 限的硬件环境 , 要 求 占用资源少 , 适合在有 限存储空间运行 , 系统功能还要能够根据产 品 的设计要求进行剪裁 、 调整。 我们通常把嵌入式操作系统分 为两类 , 一类是实 时操作 系统 , 主要 是 面 向控制 、 通信 等领 域 的 , 具有 代 表性 的有 Wi Rvr 司的 V — n i 公 d e x Wok 、S 的 p OS Q X系统 软件公 司的 Q X、 T 的 N ces ; 一 rsII S 、 N N A I ul 等 另 u 类是非实时操作 系统 , 主要是 面向消费电子产品的 , 这类产品包括个人 数字助理( D 、 P A)移动 电话 、 机顶盒 、 电子书 、 b h n 等。 WeP oe 所有 的 E S O 都有一个 内核 , 内核包含 了任务 管理 、 存储管理 、 设备
两种嵌入式操作系统的比较

两种嵌入式操作系统的比较摘要: 嵌入式操作系统是嵌入式系统应用的核心。
本文通过对两种典型的开源嵌入式操作系统的对比,分析和总结了嵌入式操作系统应用中的若干问题,归纳了嵌入式操作系统的选型依据。
关键词: 嵌入式;操作系统;mC/OS;mClinux引言随着现代计算机技术的飞速发展和互联网技术的广泛应用,从PC时代过渡到了以个人数字助理、手持个人电脑和信息家电为代表的3C(计算机、通信、消费电子)一体的后PC时代。
后PC时代里,嵌入式系统扮演了越来越重要的角色,被广泛应用于信息电器、移动计算机设备、网络设备和工控仿真等领域。
嵌入式系统的开发也成为近年IT行业的技术热点。
完成简单功能的嵌入式系统一般不需要操作系统,如以前许多MCS51系列单片机组成的小系统就只是利用软件实现简单的控制环路。
但是随着所谓后PC时代的来临,嵌入式系统设计日趋复杂,嵌入式操作系统就必不可少了。
一般而言,嵌入式操作系统不同于一般意义的计算机操作系统,它有占用空间小、执行效率高、方便进行个性化定制和软件要求固化存储等特点。
从八十年代起,国际上就有一些IT组织、公司,开始进行商用嵌入式系统和专用操作系统的研发。
这其中涌现了一些著名的嵌入式系统,如Microsoft公司的WinCE和Wind River System公司的VxWorks就分别是非实时和实时嵌入式操作系统的代表。
但是商用产品的造价都十分昂贵,用于一般用途会提高产品成本从而失去竞争力。
mC/OS和uClinux操作系统是两种性能优良源码公开且被广泛应用的免费嵌入式操作系统,可以作为研究实时操作系统和非实时操作系统的典范。
本文通过对mC/OS和mClinux的对比,分析和总结了嵌入式操作系统应用中的若干重要问题,归纳了嵌入式系统开发中操作系统的选型依据。
两种开源嵌入式操作系统介绍mC/OS和mClinux操作系统,是当前得到广泛应用的两种免费且公开源码的嵌入式操作系统。
mC/OS适合小型控制系统,具有执行效率高、占用空间小、实时性能优良和可扩展性强等特点,最小内核可编译至2k。
三种通用嵌入式操作系统的分析与比较

内容摘要
接下来,我们将从实际应用场景的角度出发,分析三种操作系统的优劣。在 设备管理方面,Linux具有广泛的硬件支持,可以轻松管理各种类型的设备。 VxWorks则具有较强的实时性能和可靠性,适用于对稳定性和实时性要求较高的 应用场景。而Nut/OS则针对物联网设备进行了优化,具有低功耗和高响应速度等 特点,适用于需要长时间运行和低功耗的应用场景。
2、嵌入式Linux
FreeRTOS具有可移植性高、实时性强和代码开源的特点,适用于需要实时响 应和高可靠性要求的嵌入式系统。但缺乏丰富的中间件支持和调试功能不够强大 是其不足之处。
2、嵌入式Linux
在选择操作系统时,需要根据实际应用场景和需求进行评估和选择。
内容摘要
随着嵌入式系统的广泛应用,嵌入式实时操作系统(RTOS)成为了关键的技 术之一。本次演示将对常用的嵌入式实时操作系统进行比较分析,以便为相关领 域的研究和应用提供参考。
2、嵌入式Linux
VxWorks具有高可靠性和实时性,适用于需要高度可靠性和实时性的嵌入式系 统。但学习曲线陡峭、源代码不开放、价格较高是其缺点。
2、嵌入式Linux
嵌入式Linux具有开放源代码、可定制性强和社区支持广泛的特点,适用于各 种需要高性能、低成本和高度可定制性的嵌入式系统。但其内核调试困难、实时 性不强、功耗较大是需要注意的问题。
2、嵌入式Linux
FreeRTOS适用于需要实时响应和高可靠性要求的嵌入式系统,如智能家居、 物联网终端、工业控制等领域。它具有较小的内存占用和较低的功耗,同时提供 了高效的实时任务调度和中断处理能力。FreeRTOS还支持多种编程语言和开发工 具,方便开发者进行应用程序开发。
2、嵌入式Linux
内容摘要
三种嵌入式操作系统的分析与比较

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

;i●■三种开源嵌入式操作系统的比较苟军年(兰州交通大学自动化与电气工程学院甘肃兰州730070)信息科掌【捕要】嵌入式操作系统的性能和选择是大多数嵌入式系统开发都要面临的问题。
比较3种开源嵌入式操作系统嵌入式L i nu x、Q N x和ecos,分析3种开源操作系统的主要性能,并根据分析结果指出各自的适用领域.【关键词】嵌入式操作系统RT O S嵌入式系统中图分类号:TP316.2文献标识码:A文章编号i1671--7597(2008)1110061--01一、三种开曩E O S介绍(一)嵌入式L i M U X.L i n ux是一个类似于U ni x的操作系统,它已经是最为流行的一款开放源代码的操作系统。
嵌入式L i nux由于其源代码公开,人们可以任意修改来满足自己的应用。
像大多数自由软件一样,L i nux遵从G PL,因此使用它无须为每例应用交纳许可证费。
Li nux下的应用软件大量可用,其中大部分都遵从GPL,是开放源代码和免费的。
稳定是L i nu x本身具备的一个很大优点。
内核精悍,运行所需资源少,支持的硬件数量庞大等都是Li nux所具备的.(二)O N X∞。
Q N)【O S是由0N X软件系统有限公司开发的一套实时操作系统,它是一个实时的、可扩展的操作系统,部分遵循了PO S I X( Por t abl e O per a t i ng S ys t em I nt er f ace of U ni x)相关标准,可以提供一个很小的微内核及一些可选择的配合进程。
其内核仅提供4种服务:进程调度、进程阃通信、底层网络通信和中断处理。
(三)e C os。
e C os(e m be dde d C onf i gur a bl e oper a t i ng syst em),即嵌入式可配置操作系统。
它是一个源代码开放的可配置、可移植、面向深度嵌入式应用的实时操作系统。
其最大特点是配置灵活,采用模块化设计,包括内核、c语言库和底层运行包在内的核心部分由不同的组件构成。
几种嵌入式实时操作系统的分析与比较

⼏种嵌⼊式实时操作系统的分析与⽐较VxWorks、µClinux、µC/OS-II和eCos是4种性能优良并被⼴泛应⽤的实时操作系统。
本⽂通过对这4种操作系统的主要性能进⾏分析与⽐较,归纳出它们的选型依据和适⽤领域。
1 4种操作系统的介绍(1)VxWorksVxWorks是美国WindRiver公司的产品,是⽬前嵌⼊式系统领域中应⽤很⼴泛,市场占有率⽐较⾼的嵌⼊式操作系统。
VxWorks实时操作系统由400多个相对独⽴、短⼩精悍的⽬标模块组成,⽤户可根据需要选择适当的模块来裁剪和配置系统;提供基于优先级的任务调度、任务间同步与通信、中断处理、定时器和内存管理等功能,内建符合POSIX(可移植操作系统接⼝)规范的内存管理,以及多处理器控制程序;并且具有简明易懂的⽤户接⼝,在核⼼⽅⾯甚⾄町以微缩到8 KB。
(2) µC/OS-IIµC/OS-II是在µC-OS的基础上发展起来的,是美国嵌⼊式系统专家Jean J.Labrosse⽤C语⾔编写的⼀个结构⼩巧、抢占式的多任务实时内核。
µC/OS-II 能管理64个任务,并提供任务调度与管理、内存管理、任务间同步与通信、时间管理和中断服务等功能,具有执⾏效率⾼、占⽤空间⼩、实时性能优良和可扩展性强等特点。
(3)µClinuxµClinux是⼀种优秀的嵌⼊式Linux版本,其全称为micro-control Linux,从字⾯意思看是指微控制Linux。
同标准的Linux相⽐,µClinux的内核⾮常⼩,但是它仍然继承了Linux操作系统的主要特性,包括良好的稳定性和移植性、强⼤的⽹络功能、出⾊的⽂件系统⽀持、标准丰富的API,以及TCP/IP⽹络协议等。
因为没有MMU内存管理单元,所以其多任务的实现需要⼀定技巧。
(4)eCoseCos(embedded Configurable operating system),即嵌⼊式可配置操作系统。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
三种通用嵌入式操作系统的分析与比较关键词:嵌入式,操作系统,Windows CE时间:2012-08-09 10:45:46 来源:中电网1嵌入式操作系统嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。
它一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序等四个部分组成,用于实现对其他设备的控制、监视或管理等功能。
作为嵌入式系统的重要组成部分,嵌入式操作系统 EOS(Embedded Operating System)是随着嵌入式系统的发展而出现的,是嵌入式系统发展到一定阶段的产物。
嵌入式操作系统的出现,大大提高了嵌入式系统的开发效率,同时也促进了嵌入式的发展。
嵌入式操作系统并不是简单嵌入的操作系统,它除了具有通用操作系统的基本特点外,在小巧、实时性、可装卸、可固化代码、强稳定性、弱交互性、具备统一接口等方面有突出的特点。
2三种典型EOS分析作为在嵌入式操作系统市场通用的三种系统,Linux 、VxWorks 、Windows CE在实时性、内核大小、调度算法、通信能力和开发环境等方面都有自己的特点,下面就对这几种系统的特点做一分析。
2.1 VxWorksVxWorks操作系统是美国WindRiver公司于1983年设计开发的一种嵌入式实时操作系统,依据其良好的持续发展能力、高性能的内核以及友好的用户开发环境,在嵌入式实时操作系统领域占据一席之地。
它以其良好的可靠性和卓越的实时性被广泛地应用在通信、军事、航空、航天等高精尖技术及实时性要求极高的领域中,如卫星通讯、军事演习、弹道制导、飞机导航等。
应用实例包括美国的F-16、FA-18战斗机、B-2 隐形轰炸机、火星探测器、爱国者导弹等。
VxWorks的特点有:1)高实时性实时性是指能够在限定时间内执行完规定的功能并对外部的异步事件作出响应的能力。
实时性的强弱是以完成规定功能和作出响应时间的长短来衡量的。
VxWorks 的实时性做得非常好,其系统本身的开销很小,进程调度、进程间通信、中断处理等系统公用程序精练而有效,它们造成的延迟很短。
VxWorks 的任务调度策略以可抢占式调度( Preemptive Priority Scheduling)为基础,辅以时间轮转调度算法( Round-Robin Scheduling)机制。
这一调度算法使得VxWorks 能够及时响应高优先级的任务。
而同级任务间则可选择时间片轮转法使多个同优先级的任务并发执行。
2)可裁剪性VxWorks的可裁剪性,可以使开发者根据自己应用程序的需要来选择操作系统中部件,用户没用到的功能模块都可以去掉。
VxWorks 由一个体积很小的内核及一些可以根据需要进行定制的系统模块组成。
VxWorks 内核最小为8kB,即便加上其它必要模块,所占用的空间也很小,且不失其实时、多任务的系统特征。
由于它的高度灵活性,用户可以很容易地对这一操作系统进行定制或作适当开发,来满足自己的实际应用需要。
3)友好的开发调试环境VxWorks的开发环境Tornado是一个友好的开发环境,它可以运行在多种主机上,包括Sun、HP、Dec、MIPS等,主机的操作系统则支持Unix、Windows NT等。
系统使用的流行图形界面方便使用者较快地理解和掌握。
VxWorks支持应用程序的动态链接和动态下载,使开发者省去了每次调试都将应用程序与操作系统内核进行链接和下载的步骤,缩短了编辑调试的周期。
而VxWorks具有的可视化图形界面的调试工具,也很大程度地方便了开发者的调试工作。
2.2 Windows CEWindows CE(下称Wince)是微软开发的一个源码开放的、紧凑的、高效和可扩展的操作系统,适用于各种嵌入式系统和产品。
它拥有多线程、多任务、确定性的实时、完全抢先式优先级的操作系统环境,专门面向只有有限资源的硬件环境。
同时,它的模块化设计方式使得系统开发人员和应用开发人员能够为多种多样的产品来定制它,例如手持电脑、专用的工业控制器以及消费用电子产品等。
Wince除了具有Windows系统的许多共性外,又具有嵌入式系统所要求的实时性、内存小等特性。
同时Embedded Visual C++给嵌入式系统应用程序的开发提供了极大的方便。
因此,利用Wince开发嵌入式系统或装置不仅可以获得最好的性能,而且可以缩短开发周期和降低技术风险。
Wince的特点有:1)实时性支持Wince的实时性支持包括以下内容:支持嵌套的中断,这可以让高优先级的中断立即被响应;更好的线程响应,高优先级的中断服务线程调度延迟的上限更加紧了,这可以让开发人员知道线程调度转换发生的时间,通过提高监视和控制硬件的能力开发新的嵌入式应用程序;更多的优先级别,256个优先级别给予开发人员更大的灵活性来控制嵌入式系统的调度;以及更好的控制,对线程时间片级的控制可以支持对调度机制更大的控制。
2)内核大小WinCE的内核可以很小,最小内核可以不足350kB,因为系统的大部分功能都在各自的功能模块中实现。
不过,它是WinCE操作系统真正的核心,主要完成6类功能,即处理器调度、内存管理、异常处理、系统内的通信机制、为其他部分提供核心调用例程、为系统范围内的调试提供支持。
3)拥有良好的通信能力Wince对通信的支持是十分灵活的,可完成的通信任务包括:从网络或台式机下载文件;基于Wince的设备之间的信息交换;发送和接收电子邮件;向服务器发送数据;浏览Internet;阅读条形码等。
为了实现这些不同的通信要求,Wince能支持多种通信硬件,如串行电缆、红外线收发器,无线收发器、调制解调器和条形码阅读器等。
Wince支持两种基本的通信技术:串行通信和网络通信。
4)支持超过1400个Win32 API有了这些API,开发者就能利用大量其他的编程资源、工具、软件例子以及文档来进行开发工作,降低了培训成本,缩短了进入市场的时间。
5)模块化设计方法Wince的模块化设计使得它能够在大量的平台上定制使用,开发者可以使用满足平台系统需求的最小软件模块和组件集合来设计嵌入式系统平台,从而使内存用量最小并最大可能地提供操作系统的性能。
2.3 LinuxLinux是Unix操作系统的克隆,可以免费使用,遵循GPL声明,可以自由修改和传播,是一个自由的操作系统。
Linux起源于芬兰一个名为Linus Torvalds的业余爱好,但是现在已经是最为流行的一款开放源代码的操作系统。
从1991年问世到现在,Linux已发展成为一个功能强大、设计完善的操作系统,不仅能够运行于PC平台,还在嵌入式系统方面大放光芒,这与Linux具有的良好特性是分不开的。
简单的说,嵌入式 Linux操作系统具有以下主要特性:1 )内核可裁剪,多任务支持、多用户支持,性能高、稳定性好。
2 )开放的源代码,丰富的软件资源,广泛软件开发者的支持,价格低廉。
3)良好的可移植性。
可移植性是指将操作系统从一个平台转移到另一个平台使它仍然能按其自身的方式运行的能力。
Linux是一种可移植的操作系统,为运行Linux的不同计算机平台与其他任何机器进行准确有效的通信提供了手段,不需要另外增加特殊的通信接口。
4)可以运行在许多硬件平台上。
目前Linux已经可以在数十种32位和64位芯片中运行,他们包括Intel X86、Intel XScale、ARM、PowerPC、MIPS、ALPHA、SPARC等。
而且能支持对称多处理器(SMP)的机器。
5)不仅可以运行许多自由发布的应用软件,还可以运行许多商品化的应用软件。
目前有越来越多的应用程序厂商支持Linux,而且通过各种仿真软件,Linux系统还可以运行许多其他操作系统的应用软件,如Windows等。
6)可靠的系统安全。
Linux采取了许多安全技术措施,包括对读、写进行权限控制、带保护的子系统、审计跟踪、核心授权等,这为网络多用户环境中的用户提供了必要的安全保障。
7)强大的网络功能。
Linux诞生、成长于网络,自身的网络功能相当强大,具有内置的TCP/IP 协议栈,可以提供FTP、PPP、Telnet、WWW等服务;同时还可以通过应用程序向其他系统提供服务,例如向其他Windows用户提供类似于网络邻居的Samba文件服务。
8)常用嵌入式芯片的驱动集,支持大量的周边硬件设备,驱动丰富。
9)针对嵌入式的存储方案,提供实时版本如RT Linux和完善的嵌入式解决方案。
完善的中文支持,强大的技术支持,完整的文档。
3三种嵌入式操作系统的比较Linux与嵌入式 VxWorks的比较VxWorks作为嵌入式实时操作系统,其在通信、国防和工业上的应用有着很大的优势,但是其昂贵的费用也一定程度上使用户望而却步。
我们从下面六个方面对Linux和VxWorks进行比较。
1)实时性VxWorks实时性在三种操作系统中是最强的,Linux的实时性需要改进,可用RT-Linux及RTAI 等模块弥补。
2)内核大小VxWorks内核最小为8kB,即便加上其它必要模块,所占用的空间也很小,Linux 核心从几十KB到500KB。
整个嵌入式环境最小才100KB左右,并且以后还将越来越小。
1 )购买费用Linux是免费的,可以从网上下载内核,而VxWorks必须购买,且价格不菲。
2 )技术支持Linux有全世界的自由软件开发者提供支持,而VxWorks由开发商一家提供有限的技术支持。
5)应用软件移植Linux比较容易,代码开放,有许多应用软件支持,而VxWorks因为许多是封闭系统,所以应用软件移植方面较差。
6)应用领域由于Linux内核结构及功能等原因,嵌入式Linux 应用领域非常广泛,特别适于进行信息家电的开发,VxWorks作为嵌入式实时操作系统,其在通信、国防和工业上的应用有着很大的优势。
Linux与嵌入式 Wince的比较Linux与Wince在实际的嵌入式系统应用上有各自的优势,下面从九个方面对它们进行比较:1)开源方面Linux是开放源代码的,不在存黑箱技术,遍布全球的众多Linux爱好者都是Linux开发者的强大技术支持者,Linux的源代码随处可得,注释丰富,文档齐全,易于解决各种问题;而 Windows CE是非开放性OS,使第三方很难实现产品定制。
2)内核大小Linux的内核小、效率高;而 Windows CE在这方面是笨拙的,占用过多的RAM,应用程序庞大。
3)费用方面Linux是开放源代码的OS,在价格上极具竞争力,适合中国国情。
Windows CE的版权费用是厂家不得不考虑的因素。
4)支持平台Linux不仅支持x86芯片,还是一个跨平台的系统。