Поначалу это звучит глупо, но потерпите меня.
Общеизвестно, что двоичные файлы для одной архитектуры ЦП не работают на других. Так, например, невозможно запустить (без какого-либо уровня совместимости) двоичный файл x86 на чипе sparc64. Наборы инструкций различны, поэтому ясно, что они не будут работать.
Но когда двоичный файл предназначен для того же процессора, но для другой операционной системы, какая часть кода препятствует выполнению. Например, запуск бинарного файла x86 Solaris на Linux-компьютере x86. Я предполагаю, что есть какая-то заглушка для конкретной платформы, которая относится к компоновщику времени выполнения или планировщику процесса?
Мне было бы интересно узнать. Спасибо.