Czy różnica między aplikacjami systemu Windows a aplikacjami systemu Linux nie jest tylko bibliotekami pytanymi przez uruchomione aplikacje? (patrz poprzednie pytanie ) Jak zatem można sprawić, aby aplikacje Windows działały w systemie Linux za pomocą oprogramowania, które „nie jest emulatorem”!
Kiedy użytkownicy myślą o emulatorach, myślą o programach takich jak Dosbox lub zsnes. Aplikacje te działają jako maszyny wirtualne i działają wolno, muszą emulować każdą instrukcję procesora. Wine nie emuluje procesora - stąd nazwa „Wine Is Not an Emulator”.
Niektórzy twierdzą, że ponieważ Wine wprowadza dodatkową warstwę nad systemem, aplikacja Windows będzie działać wolno. Chociaż technicznie jest to prawda, Wine nie różni się pod tym względem od żadnej innej biblioteki oprogramowania; nawet nowsze wersje systemu Windows muszą ładować dodatkowe zasoby, aby obsługiwać starsze aplikacje.
Co ważne, połączenie Wine i Unixa może czasem być szybsze niż sam Windows. Jest to szczególnie prawdziwe, gdy system ma dobre sterowniki, a aplikacja nie ujawnia żadnych błędów związanych z wydajnością.
Emulator działa zupełnie jak coś innego. Te aplikacje zwykle zawierają wszystko, co zawiera oryginalna aplikacja lub platforma.
Wine działa jednak jako tłumacz, wdrażając tylko wymagane funkcje systemu Windows, a także tłumacząc je na instrukcje zrozumiałe dla X-Windows.
Bardziej praktycznym przykładem może być maszyna wirtualna. Podczas uruchamiania systemu Windows w systemie Linux za pomocą maszyny wirtualnej maszyna wirtualna emuluje system Windows, ponieważ ładowany jest cały system operacyjny i nie ma bezpośredniej interakcji z hostem.
Jednak Wine rozmawia z X-Windows w celu uzyskania instrukcji bezpośrednio, kiedy i jeśli to konieczne, dlatego też aplikacja potrzebuje czasu.
Nie rozumiem, jak maszynę wirtualną lepiej określa termin emulator niż Wine. Maszyn wirtualnych z systemem Windows nie emulować Windows, oni są z systemem Windows.
Aaron Franke
8
Wine nie emuluje systemu Windows, ale raczej (lub otacza) interfejs API win32 dla systemu operacyjnego innego niż Windows.
Dla celów praktycznych Wine jest emulatorem, a przynajmniej działa tak, jak większość ludzi spodziewałaby się emulatora, nawet jeśli technicznie nie jest to tylko emulator. Dobre wyjaśnienie znajduje się w FAQ . Jest to również zgodne z wielkimi tradycjami w nazewnictwie uniksowym, por. GNU nie jest Uniksem . :-)
to nie jest tradycja UNIX, to się nazywa rekurencyjnym akronimem
2
FYI, humorystyczne rekurencyjne akronimy można uznać za „tradycję” w nazewnictwie uniksowym. Patrz np. En.wikipedia.org/wiki/Recursive_acronym ; „W branży komputerowej wczesną tradycją społeczności hakerów (szczególnie w MIT) było wybieranie akronimów i skrótów, które w humorystyczny sposób odnosiły się do nich samych lub innych skrótów”.
Jonik
2
nie ma to nic wspólnego z UNIX
3
Co? Zarówno GNU, jak i Wine mają wiele wspólnego z Uniksem. Podobnie jak nazywanie za pomocą rekurencyjnych akronimów. A może starasz się być nadmiernie „inteligentny” z rozróżnieniem systemów UNIX i „uniksopodobnych”? westchnienie Nawet w takim przypadku uniksowych systemów, takich jak GNU / Linux i oprogramowania, które działa na tych systemach, takich jak wino, czy mają coś wspólnego z UNIX.
Wine nie emuluje systemu Windows, ale raczej (lub otacza) interfejs API win32 dla systemu operacyjnego innego niż Windows.
źródło
Dla celów praktycznych Wine jest emulatorem, a przynajmniej działa tak, jak większość ludzi spodziewałaby się emulatora, nawet jeśli technicznie nie jest to tylko emulator. Dobre wyjaśnienie znajduje się w FAQ . Jest to również zgodne z wielkimi tradycjami w nazewnictwie uniksowym, por. GNU nie jest Uniksem . :-)
źródło