浅谈WINDOW MOBILE 和Windows Embedded CE的关系

      经常会听到大家这样问:Windows Mobile5.0和Windows Embedded CE之间有什么区别呢?这里据我所知给大家来做一下解释。

Windows Embedded CE是一个硬实时性的、组件化的操作系统,开发人员可以使用该系统来建立各种嵌入式设备,你可以把它想象成组成变形金刚的各种构件的集合,CE6.0大约有700个组件来构成系统,开发者选择需要的组件和技术来构成所需要的嵌入式系统。操作系统可以只选择基本的内核服务,这样生成的系统的、镜像大约只有300kb左右。开发人员也可以选择包含Web服务、网页浏览、媒体播放、网络、.NET Compact Framework或者其他功能的操作系统,选择的组件越多生成的系统镜像越大。需要注意的是选择的系统组件同时决定了从设备暴露出来的API函数,这就意味者每一个CE系统都拥有不完全相同的系统组件/技术和API函数。Windows CE主要针对两大客户,一类是嵌入式开发人员;另外一类是“微软内部”的客户,例如Windows Automotive和Windows Mobile。
    Windows Mobile 是从CE中有针对性的选择了一些操作系统组件,加上微软开发的一些应用程序,Shell和其他的应用技术来生成的系统。这样在所有Windows Mobile设备上运行的系统有着一样的应用程序,Shell和API。这样为一个Windows  Mobile手机写的应用程序应该可以运行另外的装有手机上。Windows Mobile的OEM层不能修改操作系统,即不能增加或者减少Windows Mobile系统自身已有的组件,因为这会改变平台暴露在外部的API函数,但是OEM层能够增加自己的应用和服务给Windows Mobile镜像,这也就意味着各Windows Mobile设备之间存在着差异,并不是每一个Windows Mobile系统都一个模样。 这里严格的不能说觉对的一个Windows Mobile手机上写的程序一定能运行在另外的Windows Mobile设备上,尽管操作系统和API是相同的,还有一些因素使得程序不能兼容,比如说屏幕分辨率的大小,呵呵。

    还有一点目前的Windows Mobile5.0是基于Windows CE5.0内核架构的,CE1.0到CE5.0的内存架构限制了操作系统最多只能运行32个进程,每个进程运行在32M的虚拟空间内,CE6.0目前允许同时有32768个进程,每一个进程有2GB的虚拟地址空间来运行,注意,这里的32768个进程只是理论上的极限,它是怎么计算出来的呢?内核有64K个存储句柄(handle store),每一个进程至少占用有两个存储句柄,因此最多同时有32K(32768)个进程同时运行。当然典型的进程占用的存储句柄一般大于两个,因此同时运行的进程会小于32768个,但是一般也会至少支持几百到几千个进程,事实上又有谁看到过一个嵌入式系统同时运行几百到几千个进程呢?

 

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值