Comment fonctionne le programme? Où les systèmes d'exploitation entrent en jeu?

Un programme est compilé à partir d'une langue à l'ASM --> Code Machine directement exécutable). Quand les gens disent que c'est dépendant de la plate-forme, le moyen que les binaires formés seront à exécuter (correctement) que sur les Processeurs avec le même Jeu d'Instructions de l'Architecture comme x86, x86-64. Il peut (à tort) /ne peut pas (du tout) l'exécuter sur d'autres processus en raison de la différence dans ISA. Droit?

Maintenant, le concept de binaires est source de confusion pour moi. Tout est à propos de la "Machine" Code de Langue" & "CPU". D'où vient l'OS entrent en jeu? Je veux dire que le binaire compilé directement les instructions pour le PROCESSEUR lorsqu'il est chargé dans la mémoire. & PROCESSEUR exécute une instruction à la fois. Je ne pouvais pas voir le rôle de Système d'Exploitation de n'importe où, sauf dans les processus de gestion texte du lien . Il doit être en cours d'exécution sur le PROCESSEUR de même ISA, indépendamment du Système d'Exploitation. droit?

Pourtant, ce n'est pas le cas. Si je construis un code x86 sur une machine windows. Il ne fonctionne pas sur Mac machine x86 ou Linux x86 machine.

Il me manque quelque chose ici. Veuillez effacer ma confusion.

source d'informationauteur claws