Win CE历史简介
为了理解Windows CE的历史,你需要理解操作系统和使用操作系统的产品之间的区别。操作系统是微软内部一组核心团队开发的。他们的产品就是操作系统自身。其他团队,比如开发Pocket PC的团队,在操作系统即将发布的时候,获得并使用最新版本的操作系统。这种划分成两部分的方式,可能对理解Windows CE是怎么发展的会产生一些混淆。下面让我们分别看一下这两部分的历史--设备和操作系统自身。
设备
首批为Windows CE设计的是手持式“管理器”设备,配有480*240或640*240的屏幕和Chiclet键盘(计算机常用的一种键盘,有一个很小的矩形键盘)。这些设备,称为手持式PC,在1996年首次面世。在Fall Comdex 97大会上,Windows CE 2.0,一个进行了显著更新的操作系统版本发布了,和它配套的是类似的更新一些的硬件,具有640*240的横向屏幕,一些是彩色的,还具有略大一些的键盘。
1998年1月,消费电子展览会上,微软宣布了两个平台,掌上电脑(译者注:Palm-size PC可以看作Pocket PC的前身,其中使用Windows CE 2.x的称为Palm-size PC,使用Windows CE 3.x的称为Pocket PC)和车载PC(译者注:Auto PC是Windows CE的一种应用模式,多用在一些车载电脑、工业自动控制等场合,可按客户需要修改输入输出方式而不限定使用原有的程序。)。掌上电脑目标直接瞄准了由Palm 0s统治的基于笔式的管理器市场。掌上电脑具有纵向显示的特点,并配有240*320的屏幕,使用输入笔来作为输入方式。但是很不幸,对Windows CE爱好者来说,对这种原始掌上电脑,公众显然缺乏热情。
此后,出现了一种新的迷你膝上式Windows CE设备,配备了触摸式输入键盘和VGA/Super VGA屏幕。这种设备被称为H/PC(专业版),电池可使用10小时,并配备了微软Pocket Office软件改进版。这种设备中有许多具有内置Modem,一些甚至配备了thenstandard 屏幕,移动轨迹垫或者IBM轨迹球设备。
2000年4月,微软宣布了Pocket PC,它对老式掌上电脑(Palm-size PC)做了极大的增强。最初的Pocket PC使用预发布的具有更多功能的Windows CE 3.0。Pocket PC的用户界面也有所不同,具有更加整洁的2纬外观和修改过的主页-Today桌面。然而,Pocket PC最重要的特性是极大的改进了Windows CE的性能。微软做了很多工作来调优Windows CE的性能。这些改进加上更快的CPU,可以让系统像Pocket 管理器期望的那样运行的更快。在这种Pocket PC里,摩尔定律使得Windows CE设备可以跨越这条线:现在硬件已经有能力提供Windows CE需要的运算能力了。
手持式PC在2000年时升级到了Windows CE 3.0。虽然这些系统(现在称为手持式PC2000)在消费领域没有成功,但在工业领域找到了市场。它凭借相对低的费用,大屏幕和长时间电池能力满足了这个机会市场。
2001年晚些时候,Pocket PC更新为Pocket PC 2002。这次发布使用了Windows CE3.0的最终发布版本,并做了一些用户接口方面的改进。同时也增加了Pocket PC Phone版本,在Pocket PC设备中集成了蜂窝电话支持功能。这些设备具有了Pocket PC的功能,也具有蜂窝电话的联通功能,形成了新一代的几乎可以始终连接的移动软件。
微软的另一组人发布了Smart Display(译者注:一种具有触摸屏的无线监视器,可以通过802.11b无线网络连接到个人计算机,并使用Windows XP Professional操作系统的“Remote Desktop”(远程桌面)来访问主机)。它使用Windows CE.NET 4.1系统,具有平板式设备形式,有无线网络访问能力,有一个底座可以连接到PC上。当使用底座的时候,它可以做第2个显示器。当不用底座的时候,它可作为PC的移动显示器。
2003年春季,Pocket PC团队发布了升级版的Pocket PC,称为Pocket PC 2003。系统在用户接口方面没有很多变化,但由于是基于Windows CE.NET 4.2,所以在稳定性和性能方面都有了巨大改进。Pocket PC 2003还集成了蓝牙支持功能,OEM厂商可以选择是否包含该功能。
微软还和OEM厂商合作生产基于Windows CE的蜂窝电话。这些电话中的少部分被称为Smartphone(智能电话),在2002年末发布了,最初是基于Windows CE 3.0。2003年升级到了Windows CE4.2,并增加了一系列特征,包括 .NET runtime功能。
新设备一直不断在发布,例如 Media to Go设备,就是使用硬盘来存储的移动视频播放器。Windows CE操作系统的强大功能,使应用程序凭借运行在这些设备上的简单操作系统 超越了系统能力。
操作系统
虽然面向消费者的产品可以不断产生新闻热点,但最重要的开发工作仍然在操作系统自身。Windows CE从1.0之日就开始不断演化,当它还是一个简单的管理器操作系统时就被寄予厚望。从Windows CE 2.0开始一直持续到今日,微软不断发布Windows CE的嵌入式版本,使开发者可以用在他们自定义的硬件上。虽然像Pocket PC等消费平台占据了宣传的主体,但对基本操作系统的改进是使诸如Pocket PC和Smartphone之类的设备能够运做的基础。
在Fall Comdex 1997大会上,Windows CE 2.0随着手持式PC 2.0一起发布了。Windows CE 2.0增加了网络支持,包括Windows 标准网络功能,支持NDIS miniport驱动模式,以及通用NE2000网络卡驱动支持。虽然增加的COM被限制在进程内服务,但可以用来支持脚本编写。引入了新的显示驱动模式,可以支持像素深度,而不再是Windows CE 1.0中原始的每像素2位了。Windows CE 2.0是Windows CE操作系统中第一个与诸如H/PC等产品分离,独立发布的版本。开发者可以购买Windows CE 嵌入式工具包(ETK),它可以让开发者为特殊的硬件平台定制Windows CE。然而,用过ETK后,开发者会发现,这个产品的功能还没有达到它所宣称的目标。
随着掌上电脑(Palm-size PC)在1998年初发布后,Windows CE又在不断改进。虽然Windows CE 2.01没有按ETK形式发布,但它在减少操作系统和应用程序大小方面做的努力还是值得称道的。在Windows CE 2.01中,C运行时库从每个EXE和DLL都要绑定的静态链接库中去掉了,放到了操作系统里。这极大的减小了操作系统和应用程序的大小。
1998年8月,微软发布了H/PC,配套的发布了操作系统的新版本-2.11版。Windows CE 2.11是从未正式发布的Windows CE 2.1的服务升级包。这一年年末,Windows CE 2.11作为Windows CE平台的2.11版本,发布给了嵌入式开发者社区。该版本支持改进的对象存储,允许要存储的文件大于4M。还增加了对控制台程序的支持,同时增加了MS-DOS风格的命令行解释器CMD.exe的Windows CE支持。Windows CE2.11还增加了Fast IR,用于支持IrDA的4M红外线标准,同时增加了一些特殊功能来支持IP多点传送。最初的安全概念被引入:设备可以检查和拒绝装载没有被认证的模块。
Windows CE 2.12也是作为2.1-白桦(Windows CE 2.1的代号)的服务包发布的。这次发布中最大的亮点是一个增强的平台Builder工具集,它具有一个图形化的前端界面。用一个新的通知接口调整了系统操作,新的接口将不同的通知功能进行了组合。通知的用户接口暴露在平台Builder中,允许嵌入式应用开发者定制通知对话框。微软基于PC的Internet浏览器 IE 4.0也被引入到Windows CE中,称为Genie-通用IE控件。这个HTML浏览器控件完善了简单小巧的Pocket Internet浏览器。微软消息队列(MMQ)也被加了进去。Windows CE 2.11中的安全功能“运行/不运行(go/no go)”也增加了“运行,但不信任(go,but don't trust)”的选项。这样,不被信任的模块可以运行,但不能调用关键功能集,也不能修改注册表的某些部分。
期待已久的Windows CE 3.0终于在2000年中发布了。这次发布是跟随同年4月发布的Pocket PC的,它使用了Windows CE 3.0略早一些的内部版本。Windows CE 3.0最大的亮点在它的内核,内核为更好的支持实时功能而做了优化。增强后的内核,支持256个线程优先级(之前的版本是8个),可调整线程周期,可嵌套的中断服务程序,并减少了内核等待时间。
Windows CE 3.0改进的地方不仅仅在内核上。一个新的COM组件被加入进来,用来完善2.0就有的进程内COM功能。新的组件支持完整的进程外COM和DCOM功能。对象存储区域也做了改进,可以支持256M RAM了。对象存储区域里的文件大小限制也提高到了32M/文件。Platform Builder 3.0的附加的软件包加入了更多的功能,增加了media player控件,提高了多媒体支持。用PPTP,ICS和远程桌面显示功能改进了网络支持。还正式引入了DirectX API。
Windows CE接下来的一个版本,改变的不仅仅是新特性,产品的名字也改了。2001年初,Windows CE.NET 4.0发布了。这个版本里,改变了虚拟内存的管理方式,将每个应用程序的虚拟内存空间扩大了1倍。Windows CE.NET 4.0还增加了新的驱动装载模式,服务(Services)支持,新的基于文件的注册选项,蓝牙功能,802.11以及1394支持。具有讽刺意味的是,Windows CE.NET 4.0虽然叫.NET,但却不支持.NET 精简框架。
2001年末,Windows CE 4.1跟随Windows CE 4.0之后发布了,增加了IP v6支持,Winsock2支持,一组支持applets的新功能,以及一个叫Power Manager的例子。Windows CE 4.1支持.NET 精简框架。.NET 运行时库作为一个快速修复包(QFE),在操作系统发布后提供的。
2003第2季度,Windows CE.NET 4.2发布了。这次升级,提供了很棒的、OEM厂商期待的新特性-在嵌入式系统上支持Pocket PC应用程序。Pocket PC特有的API,比如菜单条、软输入法以及其它解释器特性,被移植到基本操作系统里了。为支持名字空间扩展,浏览器Shell被重写。通过在某些CPU上直接支持硬件分页表功能,内核性能得到了改进。
因为Windows CE不断在发展,下个版本的Windows CE正在开发中,一旦有新版本发布的信息,我将更新到我的网站 www.bolingconsulting.com。
==============================原文====================================
A Little Windows CE Histor
To understand the history of Windows CE, you need to understand the differences between the operating system and the products that use it. The operating system is developed by a core group of programmers inside Microsoft. Their product is the operating system itself. Other groups, who develop devices such as the Pocket PC, use the newest version of the operating system that's available at the time their product is to be released. This dichotomy has created some confusion about how Windows CE has evolved. Let's examine the history of each, the devices and the operating system itself.
The Devices
The first products designed for Windows CE were handheld "organizer" devices with 480-by-240 or 640-by-240 screens and chiclet keyboards. These devices, dubbed Handheld PCs, were first introduced in late 1996. Fall Comdex 97 saw the release of a dramatically upgraded version of the operating system, Windows CE 2.0, with newer hardware in a familiar form—this time the box came with a 640-by-240 landscape screen, sometimes in color, and a somewhat larger keyboard.
In January 1998 at the Consumer Electronics Show, Microsoft announced two new platforms, the Palm-size PC and the Auto PC. The Palm-size PC was aimed directly at the pen-based organizer market dominated by Palm OS–based systems. The Palm-size PC featured a portrait mode and a 240-by-320 screen, and it used stylus-based input. Unfortunately for Windows CE fans, the public reception of the original Palm-size PC was less than enthusiastic.
Later that year, a new class of mini-laptop–style Windows CE machines with touch-typable keyboards and VGA or Super VGA screens made their appearance. These machines, called H/PC Professionals, provided 10 hours of battery life combined with improved versions of Microsoft's Pocket Office applications. Many of these machines had built-in modems, and some even diverged from the then-standard touch screen, sporting track pads or IBM's TrackPoint devices.
In April 2000, Microsoft introduced the Pocket PC, a greatly enhanced version of the old Palm-size PC. The original Pocket PC used a prerelease of the more full-featured Windows CE 3.0 operating system under the covers. The user interface of the Pocket PC was also different, with a cleaner, 2D, look and a revised home page, the Today screen. The most important feature of the Pocket PC, however, was the greatly improved performance of Windows CE. Much work had been done to tune Windows CE for better performance. That improvement, coupled with faster CPUs, allowed the system to run with the zip expected from a pocket organizer. With the Pocket PC, the inevitability of Moore's Law enabled Windows CE devices to cross over the line: the hardware at this point was now capable of providing the computing power that Windows CE required.
The Handheld PC was updated in 2000 to use Windows CE 3.0. Although these systems (now called the Handheld PC 2000) haven't been a consumer success, they have found a home in the industrial market, where their relative low cost, large screens, and great battery life satisfy a unique niche market.
The Pocket PC was updated in late 2001 with a release named Pocket PC 2002. This release was based on the final released version of Windows CE 3.0 and contained some user interface improvements. An exciting development was the addition of the Pocket PC Phone Edition, which integrated cellular phone support into a Pocket PC device. These devices combined the functionality of a Pocket PC with the connectivity of a cellular phone, enabling a new generation of mobile but always connected software.
Another group within Microsoft released the Smart Display, a Windows CE .NET 4.1–based system that integrated a tablet form factor device with wireless networking and a base connected to a PC. When the Smart Display is in its base, it's a second monitor; when removed, it becomes a mobile display for the PC.
In the spring of 2003, the Pocket PC team released an update of the Pocket PC called the Pocket PC 2003. This system, while not providing much of a change to the user interface, did provide a huge increase in stability and performance because it was based on Windows CE .NET 4.2. The Pocket PC 2003 also added integrated Bluetooth support for those OEMs that chose to include it.
Microsoft has also been working with OEMs to produce cellular phones based on Windows CE. A smattering of these phones, called Smartphones, were released in late 2002 and were initially based on Windows CE 3.0. An upgrade in 2003 moved the Smartphone to Windows CE 4.2 and increased the feature set of the device to include the .NET runtime.
New devices are being introduced all the time. An example are the Media to Go devices, which are mobile video players using a hard disk for storage. The power of the Windows CE operating system enables applications that are beyond the capability of systems with simpler operating systems to run on these devices.
The Operating System
Although these consumer-oriented products made the news, more important development work was going on in the operating system itself. The Windows CE operating system has evolved from the days of 1.0, when it was a simple organizer operating system with high hopes. Starting with Windows CE 2.0 and continuing to this day, Microsoft has released embedded versions of Windows CE that developers can use on their custom hardware. Although consumer platforms such as the Pocket PC get most of the publicity, the improvements to the base operating system are what enable devices such as the Pocket PC and the Smartphone.
Windows CE 2.0 was released with the introduction of the Handheld PC 2.0 at Fall Comdex 1997. Windows CE 2.0 added networking support, including Windows standard network functions, a Network Driver Interface Specification (NDIS) miniport driver model, and a generic NE2000 network card driver. Added COM support allowed scripting, although the support was limited to in-proc servers. A display driver model was also introduced that allowed for pixel depths other than the original 2-bits-per-pixel displays of Windows CE 1.0. Windows CE 2.0 was also the first version of the operating system to be released separately from a product such as the H/PC. Developers could purchase the Windows CE Embedded Toolkit (ETK), which allowed them to customize Windows CE to unique hardware platforms. Developers who used the ETK, however, soon found that the goal of the product exceeded its functionality.
With the release of the original Palm-size PC in early 1998, Windows CE was improved yet again. Although Windows CE 2.01 wasn't released in an ETK form, it was notable for its effort to reduce the size of the operating system and applications. In Windows CE 2.01, the C runtime library, which includes functions such as strcpy to copy strings, was moved from a statically linked library attached to each EXE and DLL into the operating system itself. This change dramatically reduced the size of both the operating system and the applications themselves.
In August 1998, Microsoft introduced the H/PC Professional with a new version of the operating system, 2.11. Windows CE 2.11 was a service pack update to Windows CE 2.1, which was never formally released. Later in the year, Windows CE 2.11 was released to the embedded community as Microsoft Windows CE Platform Builder version 2.11. This release included support for an improved object store that allowed files in the object store to be larger than 4 MB. This release also added support for a console and a Windows CE version of CMD.exe, the classic MS-DOS–style command shell. Windows CE 2.11 also included Fast IR to support IrDA's 4-MB infrared standard, as well as some specialized functions for IP multicast. An initial hint of security was introduced in Windows CE 2.11: a device could now examine and reject the loading of unrecognized modules.
Windows CE 2.12 was also a service pack release to the 2.1, or Birch, release of Windows CE. The big news in this release was a greatly enhanced set of Platform Builder tools that included a graphical front end. The operating system was tweaked with a new notification interface that combined the disparate notification functions. The notification user interface was exposed in the Platform Builder to allow embedded developers to customize the notification dialog boxes. A version of Microsoft's PC-based Internet Explorer 4.0 was also ported to Windows CE as the Genie, or Generic IE control. This HTML browser control complements the simpler but smaller Pocket Internet Explorer. Microsoft Message Queue support was added as well. The "go/no go" security of Windows CE 2.11 was enhanced to include a "go, but don't trust" option. Untrusted modules can run—but not call—a set of critical functions, nor can they modify parts of the registry.
The long-awaited Windows CE 3.0 was finally released in mid-2000. This release followed the April release of the Pocket PC, which used a slightly earlier internal build of Windows CE 3.0. The big news for Windows CE 3.0 was its kernel, which was optimized for better real-time support. The enhanced kernel support includes 256 thread priorities (up from 8 in earlier versions of Windows CE), an adjustable thread quantum, nested interrupt service routines, and reduced latencies within the kernel.
The improvements in Windows CE 3.0 didn't stop at the kernel. A new COM component was added to complement the in-proc COM support available since Windows CE 2.0. This new component included full COM out-of-proc and DCOM support. The object store was also improved to support up to 256 MB of RAM. File size limits within the object store were increased to 32 MB per file. An Add-On Pack for the Platform Builder 3.0 added even more features, including improved multimedia support though a media player control; improved networking support (and XML support) with PPTP, ICS, and remote desktop display support; and a formal introduction of the DirectX API.
The next release of Windows CE involved more than just new features; the name of the product was also changed. Windows CE .NET 4.0, released in early 2001, changed the way virtual memory was organized, effectively doubling the virtual memory space per application. Windows CE .NET 4.0 also added a new driver loading model, services support, a new file-based registry option, Bluetooth, 802.11, and 1394 support. Ironically, while .NET was added to the name, Windows CE .NET 4.0 didn't support the .NET Compact Framework.
Late in 2001, Windows CE 4.1 was a follow-on to Windows CE 4.0, adding IP v6, Winsock 2, a bunch of new supporting applets, and an example Power Manager. Windows CE 4.1 also supports the .NET Compact Framework. The final bits of the .NET runtime were released as a quick fix engineering (QFE) package after the operating system shipped.
The second quarter of 2003 saw the release of Windows CE .NET 4.2. This update provided cool new features for OEMs wanting to support Pocket PC applications on embedded systems. The Pocket PC–specific APIs that support menu bars, the soft input panel (SIP), and other shell features were moved to the base operating system. The Explorer shell was rewritten to support namespace extensions. The performance of the kernel was improved by directly supporting hardware paging tables on some CPUs.
Because Windows CE is a work in progress, the next version of Windows CE is being developed. I'll be updating my Web site, www.bolingconsulting.com, with information about this release as it becomes available.
|
|