Windows Embedded Compact

维基百科,自由的百科全书
跳转到导航 跳转到搜索
Windows Embedded Compact
File:Windows CE Logo.svg
开发者Microsoft
编程语言{{#property:p277}}
操作系统家族Windows Embedded Compact
运作状态已停止支持 (2021年结束)
源码模式封闭(共享内核源代码[1]
当前版本
    Module:EditAtWikidata第29行Lua错误:attempt to index field 'wikibase' (a nil value)
    内核类别混合核心
    许可证微软EULA
    官方网站Windows CE
    仓库
    • {{URL|example.com|可选的显示文本}}
    Module:EditAtWikidata第29行Lua错误:attempt to index field 'wikibase' (a nil value)

    Windows Embedded Compact(曾被称为Microsoft Windows CE),为微软研发的嵌入式操作系统,可以应用在各种嵌入式系统,或是硬件规格较低的电脑系统(例如很少的存储器,较慢的中央处理器等)。微软并未定义CE缩写由来,一般解释则有Compact Edition、Customer Embedded、Consumer Electronics等等。在2008年4月15日举行的嵌入式系统大会上,微软宣布将Windows CE更名为Windows Embedded Compact,与Windows Embedded EnterpriseWindows Embedded StandardWindows Embedded POSReady组成Windows Embedded系列产品。[2]

    概览[编辑]

    File:Tektronix Y400 NetTek Analyzer 20150519 104452.jpg
    搭载了Windows CE系统的Tektronix Y400 NetTek Analyzer

    Windows CE 1.0最早于1996年推出,是单色的Windows 95简化版本。

    1997年Fall Comdex大会上公布的Windows CE 2.0仍是基于Win95的操作系统,效率远高于1.0版。

    Windows CE 3.0是微软的Windows Compact Edition,已摆脱旧有的Windows 95简化格式,是一套全新的操作系统,支持5种CPU:x86PowerPCARMMIPSSH3/4。并且改名为Windows for Pocket PC,简称Pocket PC。

    2002年1月微软又推出Windows CE.Net,即Windows CE 4.0。

    2004年5月份推出Windows CE 5.0,开放有250万行源代码。

    2006年11月,微软推出Windows Embedded CE 6.0。

    2010年10月,微软推出 Windows Phone 7,Windows Embedded Compact 7。

    Windows CE可以使用在各式各样的系统上,最有名的是Pocket PC以及微软的SmartPhone。其他较不为人知的设备包括微软的车载电脑机顶盒、生产在线的控制设备、公共场所的信息站(英语:Kiosk)、电子辞典导航仪等等,有些设备甚至没有任何人机界面。

    Windows CE并非从台式机的Windows(NT,98,XP……)修改缩小而来,而是使用一套完全重新设计的核心,所以它可以在功能非常有限的硬件上执行。虽然核心不同,但是它却提供了高度的Win32 API软件开发界面的兼容性,功能有内存管理、文件操作、多线程、网络功能等。因此,开发台式机软件的人可以很容易编写甚或直接移植软件到Windows CE上。

    一个与其他微软操作系统的差异是Windows CE提供源代码,首先已经提供了源代码给部分厂商,让厂商能够依照他们自己的硬件架构修改源代码, 例如在Windows CE的开发IDE软件Platform Builder中就提供了许多开放原码的常用软件组件,但是一些与硬件架构的软件组件仍然以二进制文件形式来提供。

    版本[编辑]

    Timeline of Windows CE Development

    版本 改动
    1.0 发布于1996年11月[MSCE1]。[3]代号Pegasus。[4]
    • 使用该OS的设备被命名为“handheld PC”〈HPC〉。[3]
    2.0 发布于1997年9月[MSCE2]。[3]代号Mercury/Gryphon/Apollo/Alder/Alder EP/Birch/Birch SP2/Jupiter/Wyvern/Goldeneye。[4]
    • 以Palm-sized PC/Pocket PC为名的设备出现。[3]
    • 即时调度算法。
    • 支持系统架构:ARM,MIPS,PowerPC,StrongARM,SuperH及x86。
    • 32-bit彩色屏幕。
    • SSL 2.0及SSL 3.0。
    3.0 发布于2000年六月[MSCE3]。[3]代号Cedar。[4]
    • 针对核心进行重写使CE的即时性推进至微秒层级。[5]
    • Pocket PC 2000,Pocket PC 2002及Smartphone 2002的基础。[3]
    • 优先级数从8增加至256。[3]
    • 系统对象数从65 536增加至4亿1900多万。[3]
    • 使用特殊的APIs对系统进行访问,对注册表的写操作也被限制在部分区域。[3]
    4.x 发布于2002年1月。[MSCE4]。[3]代号Talisker/Jameson/McKendric。[4]
    • 更改部分驱动结构并增加新功能。[5]
    • 以"Pocket PC 2003"为基础。[3]
    • 提供蓝牙支持。[3][6]
    • 支持TLS(SSL 3.1),IPsec L2TP VPN、Kerberos。[3]
    5.0 发布于2004年8月。[4]新增了许多功能。[5]代号"Macallan".[4]
    • 自动向生产商发送错误报告。[7]
    • 移动式Direct3D,一个基于COM的Windows XP DirectX多媒体API版本。[7]
    • 2D图形DirectDraw和摄像头与影片的DirectShow数字化支持。[7]
    • 支持Remote Desktop Protocol(RDP)。[8]
    6.x 发布于2006年9月。代号"Yamazaki".[4]
    • 进程地址空间从32 MB增加至1 GB
    • 进程数目从32增加至768[9]
    • 可以使用用户模式和内核模式的设备驱动。
    • Device.exe, filesys.exe, GWES.exe被转移至内核模式中。
    • SetKMode and set process permissions not possible.
    • 增强系统调用的性能。[10]
    7.x 7.0 发布于2010年10月。7.5 发布于2011年9月

    详见Windows Phone 7

    CE v3.0是Pocket PC 2002的基础. CE v3.0的下代为CE.net. [3] "PocketPC [是]核心Windows CE OS上的一整层程序... Pocket PC以Windows CE为基础,但分发的方式不太一样.". Pocket PC的使用证书禁止修改WinCE的程序.[11]

    功能[编辑]

    停产前最新的Windows CEWindows CE 7.0,这个版本在核心部分支持:

    File:Windows mobile.jpg
    早期Windows CE
    • 双核心处理器支持(SMP、ARMv6)
    • WIFI定位系统
    • 蓝牙3.0 + HS
    • Cellcore
    • DLNA(数字生活网络联盟)
    • 数字版权管理(DRM)
    • 媒体传输协议(MTP)
    • IE8 Rendering Rich Media Plug-Ins
    • NDIS 6.1支持
    • UX C++ XAML API如使如Windows Presentation Foundation和Silverlight的用户界面
    • 更佳触摸和手势输入


    在开发环境上,微软也提供兼容于.NET Framework的开发组件:.NET Compact Framework,让正在学习.NET或已拥有.NET程序开发技术的开发人员能迅速而顺利的在搭载Windows CE .NET系统的设备上开发应用程序

    用于掌上电脑Pocket PC以及智能手机Smart Phone上的Windows CE系统称为Windows Mobile,目前成熟的最新版本为Windows 10 Mobile

    在2009年10月6日,Windows Mobile亦正式改名为Windows Phone.

    开发工具[编辑]

    Windows CE可支持MFCATLSTLCOMActiveX,以及.NET Compact Framework。开发工作可以分为:

    • Platform Builder:这个工具是一个编译平台(BSP + 操作系统核心)、驱动程序以及应用程序,是一个可以做单部执行的开发环境,也可以用来发送SDK到目标平台再搭配另外一个下面的工具来使用。
    • Free Pascal and Lazarus:版本2.2.0以后的Free Pascal都有Windows CE支持(包括ARM和x86)。随后,Windows CE头文件也被翻译,供Lazarus(一个基于Free Pascal的快速应用开发(RAD)软件包)使用。用户可以使用Lazarus IDE来设计Windows CE应用程序,并通过交叉编译器(cross-compiler)生成用于Windows CE的可执行文件。
    • Visual C++ 2005/2008/2010其中Platform Builder 6.0 for Windows Embedded CE被改写成Visual Studio 2005的一个插件。

    限制[编辑]

    • Windows CE为UNICODE操作系统,但char不必改为TCHAR,WCHAR,因为Windows CE也支持非Unicode编程。
    • Windows CE不支持重叠I/O。
    • WinCE的许多APIs功能都受限,如CreateThread函数在许多参数在Windows CE下都不支持,第1、2、5的参数值必须设为NULL或0。
      HThread = CreateThreadNULL, 0, Thread, nParameter, 0, &dwThreadID);
    

    参见[编辑]

    参考文献[编辑]

    1. ^ Microsoft opens full Windows CE kernel source. Linux Devices' article(Nov. 01, 2006).
    2. ^ Microsoft Charts Its Road Map for Windows Embedded Business. [2009-04-22]. (原始内容存档于2008-04-20). 
    3. ^ 3.00 3.01 3.02 3.03 3.04 3.05 3.06 3.07 3.08 3.09 3.10 3.11 3.12 3.13 Risk Analysis of Mobile Devices with Special Concern of Malware Contamination (PDF). [2009-09-02]. (原始内容 (PDF)存档于2022-02-27).  090517 2000grad.com
    4. ^ 4.0 4.1 4.2 4.3 4.4 4.5 4.6 Windows Embedded Blog : CE 6.0 - why the codename "Yamazaki" ?. [2009-09-02]. (原始内容存档于2009-06-09).  090517 blogs.msdn.com
    5. ^ 5.0 5.1 5.2 Talk:Microsoft Windows CE#Is Windows CE a trimmed down version of desktop Windows ??? 090517
    6. ^ Pen Computing Magazine: Windows CE .net. [2009-09-02]. (原始内容存档于2022-04-17).  090517 pencomputing.com
    7. ^ 7.0 7.1 7.2 MS readies WinCE 5.0 preview. [2009-09-02]. (原始内容存档于2019-04-14).  090517 theregister.co.uk
    8. ^ The History of the PDA. [永久失效链接] 090517 seditaville.com
    9. ^ Introduction to Microsoft embedded technologies - Session 1. [2009-09-02]. (原始内容存档于2011-07-24).  090517 embedded.net.nz
    10. ^ Differences between Windows CE 5.0 and Windows CE 6.0. [2009-09-02]. (原始内容存档于2012-12-09).  090517 windowsfordevices.com
    11. ^ Why Pocket PC isn't WinCE. [2009-09-02]. (原始内容存档于2018-09-19).  090517 theregister.co.uk