¿Cómo se ejecuta el programa? ¿Dónde entran en juego los sistemas operativos?

Un programa se compila desde algún lenguaje a ASM -> Código de máquina (ejecutable directamente). Cuando la gente dice que esto depende de la plataforma, significa que los binarios formados se ejecutarán (correctamente) solo en las CPU con la misma arquitectura de conjunto de instrucciones como x86, x86-64. Puede (incorrectamente) / no funcionar (en absoluto) en otros procesos debido a la diferencia en ISA. ¿Derecha?

Ahora, el concepto de binarios me confunde. Todo se trata del "código de lenguaje de máquina" y "CPU". ¿Dónde entra en juego el sistema operativo? Me refiero a que el binario compilado tiene instrucciones directas para la CPU cuando se carga en la memoria. & CPU ejecuta una instrucción a la vez. No pude ver la función del sistema operativo en ningún lugar, excepto en la gestión de procesosTexto del enlace . Debe estar ejecutándose en la CPU de la misma ISA independientemente del sistema operativo. ¿Correcto?

Sin embargo, no es el caso. Si construyo un código para x86 en la máquina de Windows. No se ejecutará en máquinas Mac x86 o Linux x86.

Me estoy perdiendo algo aquí. Por favor, aclarar mi confusión.

Respuestas a la pregunta(9)

Su respuesta a la pregunta