Hola
En realidad el sistema operativo es un gran conjunto de funciones que controlan el hardware de un sistema digital.
Yo llegué a compilar programas para que corrieran sobre un Linux montado sobre un Nintendo Gamecube. El Gamecube es un microprocesador con un bootloader y ya, pero el conjunto de funciones, librerías y demás cosas de Linux lo convertían en una PC.
http://www.gc-linux.org/wiki/Main_PageTenía consola y me conectaba a ella vía Ethernet, pero sólo gracias al conjunto de funciones bien armonizadas que conformaban el S.O.
Cualquier sistema digital puede tener un sistema operativo, pero sólo si hace falta aplicar programas más generales. Si tienes un sistema digital que siempre va a hacer una tarea específica no hace falta un S.O.
Lo normal para construir un sistema operativo es C++.