从10个方面分析评价Linux和WinCE的优缺点

发布者:TranquilSilence最新更新时间:2015-09-29 来源: eefocus关键字:分析评价  Linux  WinCE 手机看文章 扫描二维码
随时随地手机看文章
1.支持多种硬件平台
  由于嵌入式设备硬件平台的多样性,CPU芯片的快速更新,嵌入式操作系统要求支持常用的嵌入式CPU,如X86, arm, MIPS, POWERPC等,并具有良好的可移植性。另外还需要支持种类繁多的外部设备。Linux支持以上几乎所有的主流芯片,并且还在不断的被移植到新的芯片上。而在这方面,WinCE显然差得很远。
  2.占有较少的硬件资源
  由于多数嵌入式系统具有成本敏感性,处理器速度较低,存储器空间较少,这要求嵌入式OS体积小,速度快。Linux体系结构比较灵活,易于裁减,可以小到2M flash,4M RAM。而WinCE对资源的要求更高。
  3.高可定制性
  由于不同的嵌入式应用对系统要求各不相同,这要求嵌入式OS具备高可定制性,能够根据需要方便的增加和减少各项功能模块。这一点对于嵌入式领域至关重要,而Linux由于图形系统不在内核中,且支持模块机制,内核可根据需要加入或去掉功能。其外围工具拥有众多选择,更由于可以自由修改源代码,具有极强的可定制性。而WinCE/Windows根本无法做到这一点。
  4.具有实时处理能力
  实时应用分为硬实时和软实时两大类,嵌入式OS需要明确是否支持实时和支持哪一类实时应用,需要提供最坏情况响应时间为多长。Linux和WinCE/Windows最初设计时都没有考虑实时应用,但众多的实时Linux项目已使Linux具备了硬实时和软实时处理能力,硬实时有RT-Linux和RTAI,而2.6中加入了可抢占核心,使得Linux具备了软实时处理能力,此外还有Timsys和Montavista等实时Linux实现。Linux自由开发模式的优点得到了充分的体现。Windows虽然也有第三方提供类似于RT-linux的实时功能,但由于微软未提供这方面的支持,也由于Windows可靠性不能满足要求,很少有人在实时领域使用Windows。但RT-linux已经在美国航天部门,印度军方等得到了广泛应用。还有Montavista,Timsys的实时Linux都有很多成功案例。
  5.具备强大的网络功能
  现在,越来越多的嵌入式设备需要具备网络功能。这要求嵌入式OS支持常用的网络协议和可靠的网络功能。Linux的网络功能经过几次改进,其效率,功能都很突出。且具有众多的网络工具,支持几乎所有常见的网络协议。这些使得Linux在网络设备中倍受青睐,很多防火墙,低端路由器等中使用的都是Linux。而未闻WinCE/windows在这方面有什么应用。
  6.高安全性和高可靠性
  嵌入式设备往往对安全性和可靠性要求很高,这要求作为基础软件的嵌入式OS具有高安全性和高可靠性。如骨干网的路由器,交换机等。Linux的可靠性是经过实践检验的,并进一步向高端发展,冲击Vxworks, Unix的市场。安全性方面Linux病毒极少,并拥有众多安全增强,有的安全增强Linux达到了B1级别(红旗RFSOS通过了国家GB17859第三级,等同于TCSEC B1级)。而Windows病毒众多,漏洞不断,虽然微软大力宣传其通过了CC标准EAL4级,但是需要说明的是,EAL4仅仅说明Windows在多大程度上满足了它的安全目标,显然更为重要的是这个目标是什么,事实上,它通过的是CAPP的EAL4级,仍然相当于TCSEC C2级,Win2000的可靠性比起98等来说有了明显提高,但尚不足以向高端冲击,其安全性问题也会大大影响它的可靠性,这二者是紧密联系的,不能孤立讨论。
  7.具有完善的嵌入式GUI和嵌入式浏览器
  面向用户的嵌入式终端设备如Smart Phone等,都要求嵌入式OS具有功能完善,控件丰富的嵌入式GUI,并支持功能强大的嵌入式浏览器。在这方面WinCE有完善的解决方案,Linux也有QT/Embedded等GUI,Opera等嵌入式浏览器,拥有众多的选择。
  8.实现嵌入式日志文件系统,具备断电保护能力。
  这些功能Linux和Windows都能达到。
  9.能够提供完善的开发工具集。
  Linux下的开发工具众多,但不如Windows开发工具易用。不过Windows的开发工具不是为嵌入式领域设计的,功能也不完善。
  10.能够快速启动
  启动速度二者差不多,但很多嵌入式设备并不需要图形界面,且由于Linux有源代码,在硬件固定的情况下可以加速启动,这时Linux就比WinCE/Windows启动快多了。
  通过以上分析,可以很清楚地看到,总体比较而言,在嵌入式领域Linux比WinCE/Windows具有明显优势。正因为如此,嵌入式Linux比WinCE/Windows应用领域要广泛的多。WinCE的优势在于PC衍生产品,如Pocket PC,高端PDA等。但在其他众多的嵌入式领域中,WinCE就并不适合了。
  如果是为了学习,好玩,我选择linux。如果我周围有一个开发团队,选择linux。如果我是单枪匹马或是人员有限,能尽快地开发产品,选择winCE。
关键字:分析评价  Linux  WinCE 引用地址:从10个方面分析评价Linux和WinCE的优缺点

上一篇:单片机GUI编程显示汉字
下一篇:keil中建立多个c文件时,出现*** ERROR LXX

推荐阅读最新更新时间:2024-03-16 14:33

PXA255上的嵌入式Linux应用平台
引 言       PXA255是Intel继PXA250后的第二代XScale处理器,也是一款高档的Intel个人互联网架构(PCA)网络处理器,它提供更高的性能和更低的耗电量。Linux操作系统高效稳定,实现了真正的多任务、多用户环境,有着强大的网络功能,更由于其开放源码、定制方便而在嵌入式系统领域获得了飞速的发展。     本平台针对诸如银行、税控、商业POS等行业的应用,为业界提供非常丰富的功能和一整套嵌入式交叉开发工具链,二次开发用户可以根据实际需要选择使用其中某一部分或全部的组件来进行有关嵌入式系统产品的应用开发。平台提供了4M/16M/32M/64M/128M可选的SDRAM和4M/16M/32M/64M/
[嵌入式]
ARM-Linux开发与MCU开发有何不同?
针对ARM-Linux程序的开发,主要分为三类:应用程序开发、驱动程序开发、系统内核开发,针对不同种类的软件开发,有其不同的特点。今天我们来看看ARM-Linux开发和MCU开发的不同点,以及ARM-Linux的基本开发环境。 1. ARM-Linux应用开发和单片机开发的不同 这里先要做一个说明,对于ARM的应用开发主要有两种方式:一种是直接在ARM芯片上进行应用开发,不采用操作系统,也称为裸机编程,这种开发方式主要应用于一些低端的ARM芯片上,其开发过程非常类似单片机,这里不多叙述。还有一种是在ARM芯片上运行操作系统,对于硬件的操作需要编写相应的驱动程序,应用开发则是基于操作系统的,这种方式的嵌入式应用开发与单片机开发
[单片机]
Imagination Codescape调试器现可支持MIPS CPU系统开发
Imagination Technologies 宣布,该公司广受欢迎的 Codescape 调试器已在其最新版本中增加对全系列 MIPS CPU 的支持,并提供新的 Linux 和 RTOS 感知(awareness)特性,能为基于Imagination MIPS 与 Ensigma 处理器的 SoC 提供异构调试功能。通过 Codescape 8.0,Imagination 的客户与开发人员将能拥有完整的、通过市场验证的、强大调试解决方案。 Codescape 已广被 Imagination 和其授权客户用来为 Imagination 的一系列可编程 IP 进行快速、简易的调试工作,支持 MIPS CPU 和 Ensigm
[单片机]
基于Linux的C02激光雕刻系统步进电机驱动程序
随着嵌入式技术的不断成熟,基于嵌入式系统编写特制电路下的设备驱动程序也越来越受到人们的青睐。在各种嵌入式操作系统中,嵌入式Linux是免费的源代码开放软件,可根据需要任意进行剪裁。在嵌入式Linux开发过程中需要为指定设备编写和编译驱动程序,这与以往在PC机上的Linux驱动开发明显不同,本文设计了基于S3C2440嵌入式Linux下激光雕刻系统的步进电机驱动程序。 1 硬件系统的设计 步进电机开环控制系统主要由中央控制器、步进电机驱动器、传感器以及步进电机四大部分组成。本系统采用基于ARM920t内核的S3C244 0A微处理器作为控制系统的中央控制器,该芯片主频400MHz,最高可达到533MHz,内含多种设备接口
[工业控制]
OK6410A 开发板 (八) 55 linux-5.11 OK6410A armv6 异常总览
感性认识 当一个程序正常按照其设计运行,有一个事件打断了该程序的正常执行流程 那么这个事件就叫异常 异常是硬件概念 异常的定义 当尝试执行的原子算术运算没有生成可普遍接受的结果时,就产生了运算异常。 原子和可接受的含义随时间和使用场合而异。// 请参见 W. Kahan 编著的《Handling Arithmetic Exceptions》。 例如,当某个程序尝试求负数的平方根时,会产生异常。这是无效运算异常的一个示例。 异常在armv6下分为7个(缺页异常并不是armv6异常的一种,而是一种软件概念) 七个异常对应5种异常处理器模式(特权) reset 和 swi 共享
[单片机]
关于Linux内核学习的误区以及相关书籍介绍
写给Linux内核新手-关于Linux内核学习的误区   先说句正经的:其实我没资格写这篇文章,因为自己也就一两个月以来才开始有所领悟的。因此,这里与其说是关于Linux内核学习的经验,不如说是自己的教训吧,希望不要扔鸡蛋砸我^_^    常常有人问:我想学习内核,需要什么基础吗?Linus Torvalds本人是这样回答的:你必须使用过Linux。 这个……还是有点太泛了吧,我想下面几个基础可能还是需要的,尽管不一定必需:   1, 关于操作系统理论的最初级的知识。不需要通读并理解《操作系统概念》《现代操作系统》等巨著,但总要知道分时(time-shared)和实时(real-time)的区别是什么,进程是个什么东西,C
[嵌入式]
linux上搭建stm32开发环境 vscode+gcc+stm32cubeMX 和 vscode+platformIO
一、软件清单: VSCode:应用商店安装 或 sudo add-apt-repository ppa:ubuntu-desktop/ubuntu-make sudo apt-get update sudo apt-get install ubuntu-make sudo umake web visual-studio-code arm-none-eabi-gcc: sudo apt-get install gcc-arm-none-eabi sudo apt-get install gdb-arm-none-eabi del /del 或 手动下载安装:https://launchpad.net/gcc-arm-embedd
[单片机]
<font color='red'>linux</font>上搭建stm32开发环境 vscode+gcc+stm32cubeMX 和 vscode+platformIO
09-S3C2440驱动学习(三)嵌入式linux-platform平台总线驱动程序及分离分层构建驱动框架
简介Platform: 内核中有IIC总线、PCI总线、串口总线、SPI总线、can总线、单总线等,一些设备可以挂载在这些总线上,然后通过总线的match进行设备和驱动的匹配。但是有些设备并不属于这些总线,于是引入了虚拟总线,也就是Platform总线,对于的设备叫做Platform设备,对于的驱动叫做Platform驱动。 平台设备框图: Platform总线: struct bus_type platform_bus_type = { .name = platform , .dev_attrs = platform_dev_attrs, .match = platform_match,
[单片机]
09-S3C2440驱动学习(三)嵌入式<font color='red'>linux</font>-platform平台总线驱动程序及分离分层构建驱动框架
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved