Dá uma lida: https://www.tabnews.com.br/maniero/67b181b2-065d-4553-8505-babac914f06f
A máquina virtual decodifica alguma coisa, não precisa ser texto, geralmente não é.
A grosso modo você está certo. Claro que isso é uma simplificação, como já sabe.
Farei algo que muitos pedem para aprender a programar corretamente, gratuitamente. Para saber quando, me segue nas suas plataformas preferidas. Quase não as uso, não terá infindas notificações (links aqui).
Hum, li esse post e alguns links que estavam nele, e surgiram outras dúvidas.
Interpretadores obrigatoriamente precisam usar máquinas virtuais na sua sua arquitetura?
Máquinas virtuais obrigatoriamente recebem código de máquina como input?
Pergunto isso pois no processo de entender mais sobre o assunto achei um blog post que ensinava a criar este exemplo simples de uma máquina virtual, e ela recebe código de máquina, fiquei pensando no que isso que eu construí difere de um interpretador, penso que os processos de compilação dentro do interpretador dao origem à um código de máquina X e este é usado como input de uma VM, é isso?