Как я понимаю, эмуляторы (простым способом) переводят или заменяют вызовы функций программы с использованием функций системы X на функции, используемые системой Y, в которой выполняется программа. Винный проект утверждает, что Wine не является эмулятором, потому что:
Вместо того, чтобы имитировать внутреннюю логику Windows, такую как виртуальная машина или эмулятор, Wine переводит вызовы Windows API в вызовы POSIX на лету, устраняя потери производительности и памяти других методов и позволяя аккуратно интегрировать приложения Windows в рабочий стол.
Итак, как эмуляторы и виртуальные машины имитируют внутреннюю логику Windows на хост-системах, отличных от Windows? Разве это не путем перевода системных вызовов Windows в соответствующие вызовы хоста? Разница между эмуляторами и не-эмуляторами (такими как Wine) заключается в том, что эмуляторы эмулируют целую операционную систему, тогда приложение использует системные API-интерфейсы, не зная, что общается с эмулятором, в то время как не-эмуляторы напрямую переводят вызовы приложения в хост ( а приложение тоже может этого не знать)? Разве дополнительный уровень косвенности отличается только между эмуляторами и Wine?