A diferença principal é que o kernel do Windows é fechado, ou seja, vc não pode fazer nenhuma mudança nele de modo a otimizá-lo para a sua máquina, enquanto que o do Linux é altamente configurável. No Linux vc pode adequar o kernel e personalizá-lo para a sua máquina, adicionando ou retirando funcionalidades de modo a eliminar módulos inúteis e assim usar todo o poder de processamento da máquina praquilo que vc realmente quer usar.
Tanto no Windows quanto no Linux, o kernel é responsável pelo reconhecimento dos itens de hardware e a comunicação deles entre si e a quantidade de módulos dentro dele é que determina em muito a velocidade do sistema.