资 源 简 介
从资源管理角度来看, 操作系统一个重要功能就是对设备
进行管理, 这种管理通过设备驱动程序来实现。Wince.net 嵌入
式操作系统是微软公司推出的一种全新开发的操作系统, 专门
应用在信息设备、移动应用、消费类电子产品等非 pc 领域。与
其他操作系统一样, Wince.net 也是通过驱动程序来使用内部和
外围硬件设备, 驱动程序将操作系统和设备连接起来, 使得操
作系统能够识别设备并为应用程序提供设备服务。
2 wince.net 的体系结构
驱动程序是 wince.net 系统的一个组成部分, 为了弄清驱动
程序在系统中的位置及其与核心如何交互, 有必要对 wince.net
的系统结构进行一个简要分析。对于通用操作系统, 其内核应
具备多个方面的功能, 既包含用于管理应用层的“进程”成分,
如进程管理, 也包含为这些进程提供各种服务成分, 如进程间
通信、设备管理和文件系统等等, 这种内核结构我们称之为“宏
内核”( Macro- Kernel) ,或称之为“一体化内核”( Monolithic Kernel) ; 而对于大多数嵌入式操作系统, 其内核采用了另外一种结
构——“微内核”( Micro- Kernel) 结构, 这种内核只提供最基本
的功能, 一般不再将外部进程可以完成的功能引入内核, 内核
一般仅提供任务调度、任务之间的通信和同步、内存管理、时钟
管理, 其他应用组件, 比如网络功能、文 件系 统 、设 备管 理 和
GUI 系统等均工作在用户态。作为一种嵌入式操作系统, wince.
net 采用了微内核体系结构, 其结构如图 1 所示。本文所说的流
接口驱动程序处于 device.exe 中, 以 dll 形式由 device.exe 加载。
系统服务进程是一种特殊进程, wince.net 文档称之为 PSL( protected server library) : A process running on the system that has
registered an API set that can be called from other process througha kernel trap。PSL 象 dll 一样处理导出服务, 服务的导出通过注
册 APISet, 通过 PSL 机制使得内核反过来( 通常情况是内核给
进程提供服务) 访问系统服务进程提供的服务。