什么是Windows CE -程序员宅基地

技术标签: 手机  嵌入式操作系统  Microsoft  windows  microsoft  微软  internet  

 简而言之,Windows CE其实就是一个操作系统。它是一个抢先式多任务并具有强大通信能力的Win32嵌入式操作系统,是微软专门为信息设备、移动应用、消费类电子产品、嵌入式应用等非PC领域而从头设计的战略性操作系统产品。  

  你也许会有一点奇怪,为什么微软会推出这个Windows CE呢?   

  不知你是否注意到,在我们的日常生活中,人们开始普遍使用手机、PDA、手持和掌上电脑等信息电器来储存和处理各种重要信息,这一切都似乎是在预示着一场新的革命。这场革命就是,计算机占领了桌面之后,继续其小型化和分散化的趋势,更广泛地进入人们工作、生活和娱乐的各个方面。这场革命又被近年来Internet的迅猛普及所推动,一个网上世界已经出现,人们随时、随地获取所需信息并保持与他人接触的需求愈发强烈。   

  早在微软创办之初,比尔·盖茨就曾梦想“每人桌上一台PC,每台PC中运行微软的软件”,这就是后来著名的“信息随手可得”的梦想,而这个梦想在今天已经变成了现实。微软为PC提供了出色的操作系统平台(Windows 9x/NT)、高效率的软件开发工具和功能强大而易用的通用软件(Microsoft Office等),使许多人的工作和生活从计算机技术中受益无穷。   

  但是PC的价格、使用的复杂性仍使得许多人与之无缘。PC文化仍不是彻底的“庶民文化”,目前PC的复杂性对于更为普遍的大众来说仍是一种“精英工具”。PC已成为人们进入网上世界的最后一道门坎,例如中国已在Internet干线、接入、内容提供等诸方面投入巨资,但就因为这一“最后一公里”难题,中国的Internet产业迟迟不能起飞。  

  IBM在80年代初犯下的错误:当年IBM固守“主机文化”,抱残守缺,错失了电脑向桌面这一新疆域拓展的良机,成为自己引发的PC革命的旁观者。所以微软在向个人桌面和企业管理领域提供了两个方便易用且功能强大的操作系统之后,又从头设计了Windows CE,以面向更为广大的移动计算、信息家电等被微软称之为“非PC”的应用领域。微软希望在这一新的应用领域仍然能够扮演操作系统平台、开发工具和通用软件供应商的传统角色。   

  “CE”这个名字的来源已无准确历史档案可查。但是微软内部的人员普遍认为CE中的C代表了消费类
(Consumer)、袖珍(Compact)、通讯能力(Connectivity)和伴侣(Companion)。CE中的E代表了电子产品(Electronics)。若把CE看作是电脑启蒙(Computer Evangelism),就更能充分反映微软从头设计一个全新的操作系统的意义。   

  嵌入式操作系统是一种用途广泛的系统软件。工业控制是它的传统应用领域,在这一领域里已有一些存在了多年的比较成功的嵌入式操作系统。但近年来随着家电信息化成为愈来愈明显的趋势,对嵌入式操作系统提出了许多新的要求,例如熟悉和友好的用户界面、统一的编程界面、强大的通讯功能等等都已变得日趋重要。

  而恰好从一开始,微软就以其操作系统产品而闻名。从MS DOS到Windows 9x/NT、以及现在的Windows CE,微软公司最强大的软件产品往往是那些最终用户看不见的产品。Window s操作系统包含用户可见部分以及用于与计算机交互的用户界面部分,但还有许多更强大的功能是“冰山隐藏在水面之下的部分”,例如与其他计算机通讯的能力、多媒体等等。Windows CE就是具备这些强大功能的、微软的操作系统家族中的最新成员。

Windows CE的设计目标   

  Windows CE的设计目标是:模块化及可伸缩性、实时性能好,通信能力强大,支持多种CPU。

  从操作系统内核的角度看,Windows CE具有灵活的电源管理功能,包括睡眠/唤醒模式。在Windows CE中,还使用了对象存储(Object Store)技术,包括文件系统、注册表及数据库。它还具有很多高性能、高效率的操作系统特性,包括按需换页、共享存储、交叉处理同步、支持大容量堆(Heap)等。

  Windows CE拥有良好的通信能力。它广泛支持各种通信硬件,亦支持直接的局域网连接以及拨号连接,并提供与PC、内部网以及Internet的连接,包括用于应用级数据传输的设备至设备间的连接。在提供各种基本的通信基础结构的同时,Windows CE还提供与Windows 9x/NT的最佳集成和通信。   

  Windows CE的图形用户界面相当出色。它拥有基于Microsoft Internet Explorer的Internet浏览器,此外,还支持TrueType字体。开发人员可以利用丰富灵活的控件库在Windows CE环境下为嵌入式应用建立各种专门的图形用户界面。Windows CE甚至还能支持诸如手写体和声音识别、动态影像、3D图形等特殊应用。   

  Windows CE可能会带给中国IT和家电产业一次绝好机会。由于经济和教育水平的限制,中国的计算机及软件行业一直缺少一个规模化的用户群,难以形成良性循环。同时中国的家电行业在成功地满足了国内传统家电市场的需求后,目前面临着生产能力过剩、过度竞争的难题,急需拓展新的增长点。而此时Windows CE所针对的领域及其本身的优势,无疑意味着崭新的机会和广阔的发展空间。Windows CE将为中国的IT和家电产业打开新的窗口,提供一个崭新的面向众多消费者的发展领域。至今为止,中国国内的许多厂商已经在和微软展开合作,推进Windows CE在中国的应用。可以肯定,在不远的将来会有更多的合作伙伴加入Windows CE阵营!   


Windows CE 常见误解纠正

误解一:Windows CE等于手持电脑。   

Windows CE是模块化、结构化的操作系统,也是许多截然不同的设备的基础,而不仅支持手持电脑。   

误解二:Windows CE是Windows 95或NT的简化版。   

Windows CE是基于Win32 API而从头开发的,是新型的信息设备的平台。   

误解三:掌上电脑是手持电脑的一种。   

掌上电脑 (Palm PC)的操作系统内核与手持电脑(Handheld PC)一样,但各自有其独特的用户界面和应用程序。
前些日子,一条微软发布的新闻吸引了大众的目光,新闻介绍说微软将推出Windows CE 5.0,该版本的Windows CE将会扩大开放程序源代码的范围,当有人问微软发言人范围会扩大多少时,微软的发言人随口说了一句:“70%或许是全部,谁知道呢。”这成为了最爆场的一句话。

其实细心的人早就发现了,这并不是微软第一次公开Windows CE的源代码。早在Windows CE.Net的时候,微软就曾经公开过部分Windows CE的源代码,不过得到源代码的只有微软的亲密伙伴和某些研究机构。程序源代码的数量也少得可怜,只有不到200万行的40%。似乎一夜之间,微软就变得大方了起来,你仅仅需要少吃半个汉堡包,省出3个美金的价格就可以换来Windows CE的超出70%的源代码,而且你想怎么改就怎么改,微软到底怎么了?

微软怎么了,的确微软此次行动不同于往常,给人的感觉明显是“厚道”多了,不过在微软的开放源代码授权条款里也明确声明了几点。微软强调,有别于开放源代码界常用的GPL授权条款,使用Windows CE 5.0源代码于商业用途与产品开发的厂商,可享有其衍生程序代码的所有权,无须与微软、合作伙伴或竞争者共享。此外基于Windows CE平台的硬件供应商和OEM解决方案的用户,有权力来调用Windows CE源代码,这种权力包括操作系统内核、图形用户接口、文件系统、设备驱动程序、网络服务器和更多代码的透明性。当然,这个许可是有附加条件的,对代码进行的任何修改都必须得到Microsoft的许可,同时,Microsoft要求至少在六个月里不允许在核心的Windows CE操作系统中合并任何新特性,对违反协议的公司将提出赔偿要求。

这样看起来Windows CE开放源代码似乎意义就变得淡薄多了,不过在Windows这样一个响亮的名号召唤下,在新版本还没有推出之前就已经有60多家厂商争抢着报名参加,由此我们可以看出Windows在厂商眼中的魅力。而诱惑厂商的Windows CE究竟魅力何来呢?

Windows CE的价值核心

对于大多数电脑用户来说,虽然每天都能够听到Windows家族那熟悉的开启音乐,但是多数用户对于这个家族个头最小的Windows CE还是不甚了解的。以至于很多人单纯地认为Windows CE只是一个仅仅能够安装在PDA中的简化版Windows。如果你也这么认为,那么你就错了。Windows CE是Windows Embedded 操作系统家族的一员(这个家族还包括了Windows XP Embedded),Windows Embedded就是Windows嵌入式操作系统的统称。而微软这样称赞自己的Windows CE:结合了一个功能强劲的实时嵌入式操作系统和众多强大工具,允许用户快速开发出新一代小内存占用的智能移动设备。

嵌入式操作系统,这好像对于多数用户来说是一个陌生的名词。那么什么是嵌入式操作系统呢?一般来说,嵌入式系统是指那些“执行专用功能并被内部计算机控制的设备或者系统。嵌入式系统不能使用通用型计算机,而且运行的是固化的软件,用术语表示就是固件(Firmware),终端用户很难或者不可能改变固件。”这的确非常的绕口,不过字典上就是这么解释的。

我相信那些对计算机技术有一些了解的人理解上面的定义应该没有任何问题,但是对于不熟悉计算机技术领域的人们来说可能存在一些障碍。因此我找到了一个更简单的定义是:“嵌入式系统就是包含了用户未知的计算机的设备。”但是,这个定义好像也需要某些解释。为此我自己总结了一个非官方的解释,那么就镶嵌在普通PC以外的所有电子设备中的操作系统。我再举几个实际的例子,就在你身边的嵌入式系统。

当你打开手机时;当你看电子表的时间时;当你使用IC卡时;当你按动微波炉或者空调机的选择键时,你实际上就在无意中使用了嵌入式操作系统,这就是嵌入式操作系统,它们固化在汽车、电梯、电视、录像机、游戏机、CD机等我们身边一切不注意的小东西上。当然,嵌入式操作系统在工业机器人、医药设备、电话系统、卫星、飞行系统等领域同样扮演了重要的角色。正是“容易忽视”这一个特性将嵌入式计算机与通用PC计算机相区分。

打开窗户更精彩

Windows CE作为微软公司最得意的嵌入式操作系统,不仅仅支持包括ARM、Motorola、Philips、Toshiba等多种处理器,而且能够镶嵌在数字媒体接收设备、企业终端、企业Web Pad等设备中。Windows CE作为Windows家族的一员,不仅仅可以跟其他的家族成员实现无缝链接,进行数据交换,更重要的是Windows CE完全支持程序员熟悉的VC++与VB编程方式。

与我们常见到的操作系统不同,嵌入式操作系统必须要符合硬件的设计要求进行改动,Windows CE如果不公布源代码,那么硬件厂商很难将其完美的植入自己的产品中,相比Linux、Java等灵活的操作系统来说,Windows CE就自然受到冷遇了。不过开放源代码之后的Windows CE将会大大的吸引厂商的目光,原因很简单,Windows CE的规范性。

Java和Linux最大的魅力就是灵活性,程序员可以随意的自行编写改动添加任何代码,以编写出自己想要的效果,但是这样做的后果就是兼容性大打折扣。你或许也有这样的抱怨,同样是摩托罗拉的手机,操作系统都是Java内核的J2ME程序,但是不同型号的手机在互相传递彩信图片时,有的型号就能够正常显示,而有些型号就不能够正常显示,不同品牌的手机更是不能互相发送图片。造成这样后果的原因很简单,虽然J2ME也规范自己的标准和编程逻辑,但开发者必须按照各种设备的不同硬件特点来进行Java应用的开发。移动设备的显示尺寸是造成各J2ME设备差异性的主要因素。显示尺寸的不同将使应用程序无法通用在不同设备中,比如说某些功能菜单显示不了,某些功能按钮显示不了等等。这些操作键在MIDP规范中(J2ME中的手机规范)定义为 “Softkey”。因此,这一差异性使得开发人员不得不针对具体的各种手持设备进行开发,在一种设备中调试通过的程序,还要在另外一种设备中进行调试。如果希望应用程序具备更好的通用性,那么自然要研究更多的手持机,这样就造成了开发成本的提高。

Windows CE的高度统一性正好弥补了这些弱点,更重要的是Windows CE将会和Windows家族其他成员组建成一个强大的网络。比如,采用Windows Mobile(采用Windows CE内核专门针对手机的操作系统)的手机和采用Windows操作系统的电脑,还有采用Windows CE的PDA设备可以实现无阻碍的数据交流,你甚至可以在手机中打开Word和Excel文档,使用IE浏览器上网,用MSN Messenger聊天,Outlook收发邮件,Windows Media Player观看网络视频等,所有这一切都是你所熟悉的。

如果使用Linux,你则还需要自己找来各种资源,还得考虑整合性的问题。所以在未来,在网络大行其道的明天,Windows CE在开放源码后无疑魅力四射,让所有的设备厂家心动不已。毕竟,减少软件开发周期和成本就等同于节省更多的钱留在自己的口袋里,何乐不为?

握着自由 憧憬明天

写到这里我甚至开始怀疑你还有没有兴趣继续听我说下去,毕竟,Windows CE的整合性能力已经开始让所有的人心动了。连我自己都急切的盼望着能够让自己的手机随意地在网络上下载任何一段铃声和图片,而不需要再去看看这些铃声和图片是否能够支持我所使用的手机型号。财大气粗的汽车厂商们都开始和微软一起憧憬美好的未来,2010年时,马路上三分之一的汽车将会使用Windows CE作为自己的控制系统,你将会在驾车中使用Windows Media Player播放你的CD音乐。最新的新闻甚至说Windows CE已经加入了RFID这种未来将会取代条形码的新识别技术,到时候你就可以口袋里装着手机,然后随意在超市中拿下商品装进口袋里,然后回家走人,你会发现Windows CE让所有的超市收款员都下岗了,因为费用会在你的手机,甚至信用卡中自动扣除,原因很简单,从手机到信用卡提款机再到信用卡,它们都是内嵌的Windows CE。

这不是梦境,公开源代码后的Windows CE会很快地做到这一切。从微软模仿苹果公司进而一统PC硬件平台的历史来看,微软的最高目标就是占领市场,因此这一结果是自然而然的。不过这样一个互联互通的操作平台会重复Windows在PC机上的统治地位。我很担心,霸主操作系统诞生后会让所有的设备忍受PC电脑一样的痛,病毒会在所有采用Windows CE内嵌的手机、PDA、汽车、微波炉、电视机、电冰箱、洗衣机、电子缝纫机和PC中无障碍的传播。这会不会就是我们最终的结果?

不过我知道,我非常渴望一个真正属于自己的操作系统,如同期待Windows CE一样,我希望我的手机不会中病毒,也不会将我自己的秘密泄露在所有人的电视机甚至微波炉的内存里,我希望我能够若无其事的打开电视机,在期待中等待我最爱的节目的开始,而不是半夜去购买能够为我电视机杀毒的另一个基于Windows CE的插件。对于Windows CE我就这些愿望了
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/zhangjie_xiaoke/article/details/3403784

智能推荐

oracle 12c 集群安装后的检查_12c查看crs状态-程序员宅基地

文章浏览阅读1.6k次。安装配置gi、安装数据库软件、dbca建库见下:http://blog.csdn.net/kadwf123/article/details/784299611、检查集群节点及状态:[root@rac2 ~]# olsnodes -srac1 Activerac2 Activerac3 Activerac4 Active[root@rac2 ~]_12c查看crs状态

解决jupyter notebook无法找到虚拟环境的问题_jupyter没有pytorch环境-程序员宅基地

文章浏览阅读1.3w次,点赞45次,收藏99次。我个人用的是anaconda3的一个python集成环境,自带jupyter notebook,但在我打开jupyter notebook界面后,却找不到对应的虚拟环境,原来是jupyter notebook只是通用于下载anaconda时自带的环境,其他环境要想使用必须手动下载一些库:1.首先进入到自己创建的虚拟环境(pytorch是虚拟环境的名字)activate pytorch2.在该环境下下载这个库conda install ipykernelconda install nb__jupyter没有pytorch环境

国内安装scoop的保姆教程_scoop-cn-程序员宅基地

文章浏览阅读5.2k次,点赞19次,收藏28次。选择scoop纯属意外,也是无奈,因为电脑用户被锁了管理员权限,所有exe安装程序都无法安装,只可以用绿色软件,最后被我发现scoop,省去了到处下载XXX绿色版的烦恼,当然scoop里需要管理员权限的软件也跟我无缘了(譬如everything)。推荐添加dorado这个bucket镜像,里面很多中文软件,但是部分国外的软件下载地址在github,可能无法下载。以上两个是官方bucket的国内镜像,所有软件建议优先从这里下载。上面可以看到很多bucket以及软件数。如果官网登陆不了可以试一下以下方式。_scoop-cn

Element ui colorpicker在Vue中的使用_vue el-color-picker-程序员宅基地

文章浏览阅读4.5k次,点赞2次,收藏3次。首先要有一个color-picker组件 <el-color-picker v-model="headcolor"></el-color-picker>在data里面data() { return {headcolor: ’ #278add ’ //这里可以选择一个默认的颜色} }然后在你想要改变颜色的地方用v-bind绑定就好了,例如:这里的:sty..._vue el-color-picker

迅为iTOP-4412精英版之烧写内核移植后的镜像_exynos 4412 刷机-程序员宅基地

文章浏览阅读640次。基于芯片日益增长的问题,所以内核开发者们引入了新的方法,就是在内核中只保留函数,而数据则不包含,由用户(应用程序员)自己把数据按照规定的格式编写,并放在约定的地方,为了不占用过多的内存,还要求数据以根精简的方式编写。boot启动时,传参给内核,告诉内核设备树文件和kernel的位置,内核启动时根据地址去找到设备树文件,再利用专用的编译器去反编译dtb文件,将dtb还原成数据结构,以供驱动的函数去调用。firmware是三星的一个固件的设备信息,因为找不到固件,所以内核启动不成功。_exynos 4412 刷机

Linux系统配置jdk_linux配置jdk-程序员宅基地

文章浏览阅读2w次,点赞24次,收藏42次。Linux系统配置jdkLinux学习教程,Linux入门教程(超详细)_linux配置jdk

随便推点

matlab(4):特殊符号的输入_matlab微米怎么输入-程序员宅基地

文章浏览阅读3.3k次,点赞5次,收藏19次。xlabel('\delta');ylabel('AUC');具体符号的对照表参照下图:_matlab微米怎么输入

C语言程序设计-文件(打开与关闭、顺序、二进制读写)-程序员宅基地

文章浏览阅读119次。顺序读写指的是按照文件中数据的顺序进行读取或写入。对于文本文件,可以使用fgets、fputs、fscanf、fprintf等函数进行顺序读写。在C语言中,对文件的操作通常涉及文件的打开、读写以及关闭。文件的打开使用fopen函数,而关闭则使用fclose函数。在C语言中,可以使用fread和fwrite函数进行二进制读写。‍ Biaoge 于2024-03-09 23:51发布 阅读量:7 ️文章类型:【 C语言程序设计 】在C语言中,用于打开文件的函数是____,用于关闭文件的函数是____。

Touchdesigner自学笔记之三_touchdesigner怎么让一个模型跟着鼠标移动-程序员宅基地

文章浏览阅读3.4k次,点赞2次,收藏13次。跟随鼠标移动的粒子以grid(SOP)为partical(SOP)的资源模板,调整后连接【Geo组合+point spirit(MAT)】,在连接【feedback组合】适当调整。影响粒子动态的节点【metaball(SOP)+force(SOP)】添加mouse in(CHOP)鼠标位置到metaball的坐标,实现鼠标影响。..._touchdesigner怎么让一个模型跟着鼠标移动

【附源码】基于java的校园停车场管理系统的设计与实现61m0e9计算机毕设SSM_基于java技术的停车场管理系统实现与设计-程序员宅基地

文章浏览阅读178次。项目运行环境配置:Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。项目技术:Springboot + mybatis + Maven +mysql5.7或8.0+html+css+js等等组成,B/S模式 + Maven管理等等。环境需要1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。_基于java技术的停车场管理系统实现与设计

Android系统播放器MediaPlayer源码分析_android多媒体播放源码分析 时序图-程序员宅基地

文章浏览阅读3.5k次。前言对于MediaPlayer播放器的源码分析内容相对来说比较多,会从Java-&amp;amp;gt;Jni-&amp;amp;gt;C/C++慢慢分析,后面会慢慢更新。另外,博客只作为自己学习记录的一种方式,对于其他的不过多的评论。MediaPlayerDemopublic class MainActivity extends AppCompatActivity implements SurfaceHolder.Cal..._android多媒体播放源码分析 时序图

java 数据结构与算法 ——快速排序法-程序员宅基地

文章浏览阅读2.4k次,点赞41次,收藏13次。java 数据结构与算法 ——快速排序法_快速排序法