O termo "SO" pode significar muitas coisas.
Enquanto na maioria dos sistemas operacionais, o kernel é o pedaço de código que está gerenciando e "executando" tudo e arbitragem os acessos ao hardware, mas geralmente não pode fazer nada interessante por si só - seu trabalho é fornecer uma estrutura para os aplicativos executarem " no topo "se isso. A definição de um sistema operacional para muitas pessoas inclui utilitários, shells e programas que compõem um ambiente familiar e padronizado.
Os drivers dependem do kernel, e provavelmente é mais correto dizer que o "estendem", como plugins. O Linux suporta a noção de "módulos carregáveis do kernel" - e todos os drivers de dispositivo podem ser um módulo carregável do kernel. Também é possível construir um kernel onde um ou mais desses módulos estejam "embutidos" e não separados do kernel. Então, você realmente pode criar um kernel "sem módulo" no Linux, e ele não seria capaz de suportar nenhum outro hardware além dos módulos que você construiu nele.
Estou menos familiarizado com as entranhas do Windows, mas acredito que, com exceção de poucos drivers de "miniporta", todos os drivers são arquivos externos carregados na inicialização. Se você se interessar um pouco pela criação de serviços no Windows, parece que os drivers são realmente apenas formas especiais de serviços no Windows. Alguns programas instalam drivers para acessar o hardware em um nível baixo, mas não necessariamente para acionar um dispositivo, geralmente são os drivers "Não plug and play" no Gerenciador de dispositivos. Portanto, também parece que os drivers cumprem a mesma função conceitualmente dos módulos carregáveis do kernel no Linux.
Por simplicidade, eu diria que eles fazem parte do sistema operacional, pois realmente não podem ser usados sem o sistema operacional e não são úteis a menos que o sistema operacional seja inicializado, mas a linha traçada é arbitrária em qualquer caso.