O uso de um sistema operacional é obrigatório. Não é possível construir um programa independente de um sistema operacional, ele pode até rodar em uma máquina virtual, no entanto esta máquina virtual esta sobre um sistema operacional. Diretamente ou indiretamente um programa depende de um sistema operacional. Mas você pode fazer um sistema operacional que faça a função do programa. O problema é o seguinte, entre o hardware e o software existe os drivers. Os fornecedores de hardware não vão escrever drivers para o seu "novo" sistema operacional. Você vai ter que fazer engenharia reversa do hardware e escrever seus próprios drivers. Pensa na quantidade de fabricantes, modelos e dispositivos. Esquece é inviável fazer isso. A coisa deve funcionar assim: Você faz o sistema operacional e cria especificações (regras) juntamente com os fabricantes de hardware, então eles escrevem drivers compatíveis com o seu sistema operacional. Pronto, os programadores não precisam estudar...