关于Resource Manager和DDK的问题

请问xTang:
1。使用resource manager开发驱动和使用DDK开发驱动的区别是什么?
2。通常是不是都使用DDK来开发驱动?

“资源管理器”是QNX的基本概念。一个设备(硬件)可以是一个资源,一个目录(nfs)也可以是一个资源。

“驱动程序”是用来控制一个硬件(资源),同时向别的应用程序提供服务。从这个概念来讲,一个驱动程序就是一个“资源管理器”。一些简单的驱动,比如串口驱动就是直接做成资源管理器的。

还有一些硬件驱动,比如网卡、声卡,USB等,并不是直接向应用程序提供服务的。应用程序接触到的,只是TCPIP协议栈,USB协议栈。这样,协议栈与驱动程序之间就有一个界面,这个界面,就是DDK所开示的。(协议栈向应用程序提供了资源管理器界面)

如果你写一个驱动,是要同QNX的协议栈交互的,那么就要用DDK所提供的界面。如果你有一个独特的硬件,直接向应用提供服务,你也可以直接把驱动写成资源管理器。

非常感谢唐先生的详细答复。