Since my primary language is C++, and is often praised for its hardware capabilities, I decided to get into computer architecture a little more. As I was looking through some stuff, I stumbled upon device drivers. So, naturally, I decided to look it up. From my understanding, the device driver is a computer program that handles specific hardware components. I also know that the kernel is a computer program that acts as a bridge from software to hardware. For some reason, my mind can't differentiate the two. When it comes to the windows platform, can somebody explain the difference to me and explain the different roles that they play. Thanks in advance.