微软嵌入式操作系统的分析和对比(上)
程有32M的虚拟地址空间,WinCE 6.0 则可以支持3.2万个进程,每个进程有2G的虚拟地址空间。WinCE 是一个基于抢占的多线程操作系统。在线程这一级,WinCE 可以实现类似嵌入式操作系统任务的调度、通讯、同步功能。为了支持可以抢占的硬实时调度,WinCE 已经实现了优先级反转机制(priority inversion)。
6.0版本的WinCE内核相较以前的5.0有了很大的改进,重要的一点就是把一部分关键文件、图形管理和驱动程序放到内核里面,好处是减少了模块在用户态和内核态切换的开销,还减少了应用程序访问这些模块调用的开销。WinCE 6.0的内核结构见图1。

图1 WinCE 6.0的内核结构
WinCE 的BSP
嵌入式操作系统是运行在不同的微处理器上,如手机和移动设备大量使用的ARM体系结构的CPU,市场上有三星ARM2410/2430、TI OMAP730/1710/2430和Marvel XScale体系的PXA270等,除此之外,还有数字电视、IP机顶盒系统使用的MIPS体系结构,如东芝、博通、IDT等公司的芯片。当然,x86在各种通用嵌入式系统方面也有大量的应用。
微软的嵌入式操作系统也是使用BSP(Board Support Package)的概念支持各种CPU和硬件平台的移植工作,在WinCE 5.0里已经有包括三星2410、Marvel PXA270等许多流行的BSP,微软的OEM厂商如研华、飞思卡尔、NXP等也提供他们移植的OEM BSP。WinCE 6.0将会在CE5.0支持ARM V4基础上支持ARM V6,包括三星、飞思卡尔的ARM11核的SoC都将得到支持。在x86方面,微软依托在桌面系统的强势,得到了众多IPC(工业PC)和EPC(嵌入式PC)厂家的拥戴和支持。
在BSP结构方面,新的WinCE6.0的内核和OAL是完全独立的两个模块,好处是在修改BSP后,内核不需要重新构建了,减少了多次构建、测试和发布内核的过程,提高了系统的可靠性。这种结构还可以让微软发布针对OEM的内核,而OEM可以因为自身知识产权的考虑,以二进制方式向最终用户发布BSP(如图2)。WinCE自身包含OEM BSP 定制和发布工具,这样OEM可以很方便地发行自己的BSP SDK包。

图2 内核和BSP的结构
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)
