( geza42 | 2020. 03. 11., sze – 09:35 )

A wine faq-ban pedig hivatkoznak a sebességre:

When users think of an emulator, they tend to think of things like game console emulators or virtualization software. However, Wine is a compatibility layer - it runs Windows applications in much the same way Windows does. There is no inherent loss of speed due to "emulation" when using Wine, nor is there a need to open Wine before running your application.

 

WINE semmi olyat nem csinál, amit emulációnak - azaz utánzásnak - lehet hívni

Akkor mégis mit csinál a WINE? De, pont ezt csinálja. Leutánozza a windows-t, a windows API-t, és ennek segítségével tudsz windowsos programokat futtatni. A futtatandó program szempontjából a WINE emulálja a windowst. Hiszen a program fut, és mégse windows van alatta.

 

mivel nem emulál sem virtuális gépeket sem fake windows kernelt, csak átfordítja az API hívásokat az adott OS hívásaira.

Már hogyne emulálna windows kernelt. Ott van az összes windows kernel hívás szépen leimplementálva. Az, hogy ez az implementáció a host OS hívásait is használja, teljesen irreleváns. Ennyi erővel semmi se emulátor, hiszen a végén minden SW (azaz minden emulátor) az OS-t használja.

 

API-emulátornak talán lehetne hívni, de nem annak szokták, hanem API-wrappernek.

Miért, a windowsra írt programok mit látnak a windowsból? A windows API-t. Ez már filozófiai vita, hogy akkor a WINE most a windows-t, vagy a windows API-t emulálja. Wrappernek kicsit lealacsonyító lenne hívni, látva a WINE forráskód méretét. Ez már bőven nem a wrapper kategória.

 

Attól még, hogy a virtuális gépek egyfajta módon emulálják a gépet (és emiatt emulátornak hívjuk őket), még nem kell egy másképpen működő megoldást nem emulátornak hívni. A virtuális gépek magát a teljes számítógépet emulálják, a WINE pedig csak a windows-t. Ezért hívjuk windows emulátornak, és nem pedig virtuális gépnek.