Почему «Исполняемые файлы» зависят от операционной системы?

Я понимаю, что каждый процессор / архитектура имеет собственный набор инструкций, поэтому программа (двоичная), написанная для одного процессора, не может работать на другом. Но чего я действительно не понимаю, так это того, почему исполняемый файл (например, двоичный, например .exe) не может работать в Linux, но может работать в Windows даже на той же машине.

Это основной вопрос, и ответ я Я ожидаю, что .exe и другие двоичные форматы, вероятно, не являются машинными инструкциями Raw, но они содержат некоторые данные, которые зависят от операционной системы. Если это правда, тогда на что похожи эти данные, зависящие от ОС? и, например, каков формат файла .exe и чем он отличается от исполняемых файлов Linux?

Есть ли источник, из которого я могу получить краткую и подробную информацию об этом?

38
задан Mohamed_Ezz 29 March 2011 в 18:55
поделиться