2007年2月27日星期二

驱动程序和应用程序的区别

懂软件结构的人都知道这两个概念,那我要是问你他们有什么区别,真的很难回答。你可能会说驱动是对硬件操作,应用程序是调用驱动程序。那么如果你写过WINCE的嵌入式应用程序,同时又写过wince的驱动程序,你会发现这个区别更加难回答。wince user mode驱动可以使用的函数,wince应用程序一样可以使用,都可以操作硬件。昏倒!

从代码这个层面说区别不容易,我今天在写其他文章的时候,突然对这两个概念有一个新的想法。驱动程序和应用程序在代码上是一样的,驱动程序一般是很被动的,不是被硬件触发一个中断,就是被上层调用。而应用程序是主动的,它可以向系统提出请求,甚至调用驱动。

通过自己的这个定义,引出我们驱动程序员在开发驱动时,不要以为自己处于核心地位,想干什么就干什么。其实应该“老实”一点,不要在驱动中做出“主动”的事情来,记住我们的程序是被动的,跟多的精彩然应用程序去发挥吧!

没有评论: