内核编程与驱动编程有什么不同?解决方法

内核编程与驱动编程有什么不同?
“windows内核编程”和“windows驱动编程”这两个概念有什么不同,二者有没有重叠的地方。驱动程序是不是都是内核态下的程序??

------解决方案--------------------
当然了,驱动程序大多是在内核态下运行的
------解决方案--------------------
内核编程是指运行在核心态的程序,它可以访问内核资源,使用内核API等等,而普通用户层程序不能访问核心内存。
驱动编程大部分属于内核编程,也有部分驱动程序接口提供用户层的API,但一般来说这种API控制粒度比较粗。
------解决方案--------------------
支持楼上观点