I really dislike the argument for recompiling a whole Kernel to getting something to run is a good thing... I would even say it's very good that Windows and Mac don't need a whole Kernel recompilation for devices... just because Linux has this design for their hardware stack does not make it a good choice. Ever wanted to get custom hardware drivers working in Linux... it's insane and complicated you need to recompile your Kernel for that! Only good thing in Linux is that many hardware drivers are very good or at least good enough and plenty nowadays.
Nothing against Linux... but it's not always a holy grail of architecture!