Windows CE与Windows mobile

 

WinCE

      Windows CE是微软为嵌入式设备打造的通用操作系统,不象其它的微软 Windows 操作系统,Windows CE 并不是代表一个标准的相同的对所有平台适用的软件。为了足够灵活以达到适应广泛产品需求, Windows CE 采用标准模式,可以通过设计一层位于内核和硬件之间代码来用设定硬件平台,从而使产品定制。

It’s a 'hard' real-time, pre-emptive, multi-tasking operating system built from the ground up to be a truly componentized OS. 'Windows CE' as a product consists of two main things: Platform Builder and a very large collection of software bits ... it is *not* is a finished OS.

 

Windows Mobile

    Windows Mobile 是 Microsoft 用于 Pocket PC 和 Smartphone 的软件平台。Windows Mobile 将熟悉的 Windows 桌面扩展到了个人设备中。

PocketPC和Smartphone

    Smartphone 主要是在格式和使用两方面作为一种电话设备而设计的。它经过良好的微调,可以用于发出和接收呼叫,并且还可以作为消息处理设备。Pocket PC 主要是作为一种小型个人计算机而设计的,对于查看和管理数据与增强消息处理而言很不错。某些 Pocket PC 设备也具有电话功能。

So what is Windows Mobile?

 

 

 

To an original device manufacturer (ODM) Windows Mobile is a set of pre-selected Windows CE components (chosen from the Windows CE OS bucket of bits just as Platform Builder would produces), some additional Windows Mobile specific components and a paper definition of required functionality, features and user experiences that the ODM must conform to. The ODM takes the components, adds in their device drivers and any additional feature apps and burns it into ROM of the device ready to ship.

 

 

 

Because the features of the OS are pre-defined, Microsoft can centrally distribute the SDK and help, and a developer can rely on the features being present and operating in the expected way.

 

 

 

So Windows Mobile is a specific subset of Windows CE components, combined with a set of Windows Mobile specific components with device specific drivers and extra’s defined by the OEM / ODM / Mobile Operator.

 

 

The collection of bits is a superset of any one OS. For example there are multiple user interfaces, two browsers, lots and lots of different processor support packages. These 'bits' come in different flavours, some are shipped as a binary DLL ready for deployment, some are partially completed components in the form of .LIB files and some components ship as source. There are lots and lots of bits. Not all are required to make a running OS, intact some are mutually exclusive. That’s where Platform Builder comes in.

 

 

Platform Builder is an OS tool / workbench / IDE that is used to do a couple of things Firstly it helps you select the components that you want your version of Windows CE OS to contain. You get to choose basic things like a UI, file system, network components and browser. You also get to choose some of the more detailed things like what registry keys need to be set, what icons will be present on the desktop (if there is going to be a desktop). Windows CE can grow from a minimum size of around 250kb right up to a fully fledged 24MB OS. Platform Builder also doubles as a workbench for creating your own C++ projects that need to go into your OS which is ideal for building device driver components and other bits. 

 

 

When all the components are selected Platform Builder is then used to 'build' your selected OS. This phase is a bit more like an assembly line rather than a traditional code build because it’s more about linking LIB files together and putting the right DLL's in the right location. When the OS is built Platform Builder then morphs into an OS debugging environment allowing the developer to deploy the OS image to a remote embedded computer or to an emulation environment and then step into the OS and debug right down to the kernel and see what’s going on.

 

 

Windows CE is great for developing bespoke, embedded OS's because it can be tailored to match the exact hardware available keeping HW and SW costs low, but it causes some interesting problems. Let’s say you, as a software dev, want to build and sell a new software widget for all Cow Milking Machines (CMM's). There are two manufacturers of these machines but both use Windows CE so you go ahead and write your wizzy new widget with a nice UI and using web services. It works fine on the first CMM but just wont fly run on the second because the manufacturer hasn't included a UI or a network stack! 

 

 

How could you know? Who was at fault? There is no way to know unless you get an SDK from the device manufacturer, but even then it doesn’t make sense to maintain two code bases, one for each CMM system.

 

 

Ideally what’s needed for widely distributed systems such as a PDA is to enforce a fixed set of features and functions. And that is exactly what Windows Mobile does.

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值