É a arquitetura subjacente.
O 95/98 / ME usava a estrutura de arquivos FAT32 como padrão e um kernel menos estável, que compartilhava a memória para todos os processos. O Windows 95 permitia que você pressionasse CTRL + ALT + DEL para encerrar um processo, mas, como eles compartilhavam a memória, isso muitas vezes desestabilizava o computador e exigia a reinicialização. Outra grande diferença é que o 95/98 / ME permitiu que praticamente qualquer programa interaja diretamente com o hardware e outros dispositivos. Isso significava que, se um programador fizesse uma ligação ruim para alguma coisa, isso poderia derrubar o sistema.
NT3.51 / NT4 / XP / Vista / Windows7 todos os padrões para NTFS, que foi melhor em manter a corrupção do arquivo, e usar um kernel, que mantém processos separados, então quando você mata um, você não desestabiliza o todo computador. Ao contrário do 95/98 / ME, o NT3.51 / NT4 / XP / Vista / Windows7 exige que todas as chamadas para hardware e dispositivos sejam feitas pelo kernel. Um programa faz o pedido ao kernel, e se o kernel considerar seguro executar, ele faz isso em nome do programa. Isso torna todas as chamadas para hardware muito limpas e consistentes, e não aleatórias, com base em como alguns programas programadores.
A resposta para a pergunta 2 é simplesmente não. Cada kernel era um sistema operacional diferente, exigindo uma licença paga diferente, então eles não colocaram a funcionalidade para inicializar kernels diferentes. Você pode instalar diferentes versões em diferentes partições e inicializá-las, mas isso é diferente do que você está descrevendo com o Linux.