Можно втащить подход из QEMU 🙂
Просто выполнять код в интерпретаторе.
самое тупое, простое, лобовое, и одновременно неограниченное по тюнингу решение — кросс-компилятор в байт-код + встраиваемая ВМка.
делай что хочешь, как хочешь, по желанию дописывай компилятор в .yacc добавляя плюшки.
операции, которые нужны быстро/часто — выносятся в сишечку.
подходы к архитектуре и приёмам/парадигмам программироания — те же, что и на обычных системах, в т.ч. создание защищенных ОС, но уже на уровне байт-кода = машинного-кода на bare metal.
систему команд — бери какую хочешь, на которой удобно на асме ручками писать, например извратитьися всзять burrough 5000 + tagged memory с Эльбруса