¡A2A!
En primer lugar, un ordenador es perfectamente feliz sin teclado. Tu coche tiene fácilmente unas cuantas docenas de ellos – sin teclados. Pero tienes razón en cuanto a la necesidad de comunicarse – aunque como puedes ver en tu coche, un conjunto de sensores para la entrada y unos cuantos actuadores como salida está bastante bien.
En cuanto a la más básica de todas las necesidades, eso normalmente ya está a bordo de casi cualquier sistema y se llama «monitor» para la versión más primitiva o «bios» para algo un poco más elaborado.
Si tienes un sistema completamente nuevo y vacío el primer paso sería crear un ensamblador. por supuesto podrías hacerlo como los primerísimos programadores con el manual del Prozessor y construir tus instrucciones a mano, escribirlas en un papel (o dos o unos cuantos montones) y luego introducirlas en un archivo que luego puedas transferir a tu máquina. La mayoría de los chips Prozessor embebidos tienen una interfaz llamada JTAG que te permite programar la memoria flash interna directamente sin necesidad de un programa monitor.
Pero hoy en día, el proceso llamado bootstrapping (construir un nuevo conjunto de herramientas para tu máquina) es mucho más fácil, ya que puedes escribir un ensamblador cruzado sobre todo en una especie de sistema de bloques de construcción y los compiladores de C están escritos en C y un compilador cruzado está casi hecho si tienes el ensamblador cruzado.
Hoy en día todo eso lo hace normalmente el fabricante del chip. Así que compras los chips y una placa prototipo y obtienes las herramientas para desarrollar el software. Un compilador de C casi siempre estará disponible, pero por ejemplo NO tendrá el stdio.h u otras cabeceras que necesitarían un sistema operativo.
Para un sistema un poco más sofisticado a veces (en tiempo real) el sistema operativo está disponible. Esto te facilita el trabajo si necesitas múltiples hilos por ejemplo.
No todas las herramientas son necesariamente gratuitas, pero ¿qué 1000 dólares por un compilador si luego construyes un millón de placas?
Un buen ejemplo para ese tipo de prozessores: Microcontrolador PIC – Wikipedia
El siguiente paso hacia arriba es por ejemplo Arduino – Wikipedia donde no compras sólo el Prozessor y la construcción de tu propio hardware alrededor de él; aquí compras placas ya construidas. El software aquí suministra un núcleo absolutamente mínimo para que sus programas se ejecuten. Depende de ti si lo llamas sistema operativo o no.
Siguiente paso: Raspberry Pi – Wikipedia un conjunto de placas basadas en un «System on a Chip» que se asemeja más a un PC. Por lo tanto, la mayoría del software se ejecuta en un sistema operativo en la placa. Puedes conectar un teclado si lo deseas (conector USB múltiple en casi todas las placas), pero no es necesario. Los productos finales típicos no lo tienen. (Piense, por ejemplo, en los Router-Boxes, etc.)
Espero que esto ayude a elevar su confusión.