Почему двоичный файл одной ОС (Windows) не работает в другой (Linux) для той же базовой архитектуры? [закрыто]

Это может быть тривиальный вопрос, но мне трудно объяснить моему младшему брату, что двоичный файл Windows не будет работать в другой операционной системе, такой как Linux, даже если обе ОС работают на одной машине. Если двоичные файлы (коды операций) должны быть одинаковыми для выполнения в той же базовой архитектуре (скажем, 32-разрядной версии Intel), в чем различия между двоичными файлами Windows и Linux (или даже Ubuntu и RadHat Linux)? Есть ли какие-либо модификации исполняемых файлов на уровне команд перед выполнением процессором? Как мне объяснить непрофессионалу / простому выражению, которое он может понять.

Ответы на вопрос(1)

Различные операционные системы имеют разныеАБИС которые требуют разныхпогрузчики использовать. Если загрузчик для другой ОС доступен (например, черезВино) тогда можно загрузить исполняемый файл, после чегоAPI становится важным.

Ваш ответ на вопрос