Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Door , , 9 reacties
Bron: Wine Development HQ, submitter: siebrand

siebrand deze pagina.

Moderatie-faq Wijzig weergave

Reacties (9)

...de nieuwste versie van het Windows-Emulatie programma Wine.
Wine:

Wine Is Not an Emulator

Het emuleert helemaal niets, het is alleen een port van de Windows-Api's naar een non-Windows platform (Correct me if I'm wrong!) ;)
Hoewel de discussie redelijk zinloos is: Ik vind Emuleren wel een duidelijk woord voor wat er gebeurt. Strict technische gezien is het fout, maar het nadoen van de Windows API onder een ander OS is ongeveer Windows Emuleren. Kortom: Sla deze opmerking voortaan ff over, anders krijg je iedere WINE versie zo'n discussie.

(of bedenk een ander goed woord voor dat geen wat Wine doet)
Het is een "API-wrapper"
(een API-wrapper is een stukje software dat API-calls van een bepaald operatingsystem doorstuurt naar API-calls van een ander operatingsystem)

Naast die API-wrapper zit er nog een klein stukje software in om die Microsoft .EXE-executables te kunnen runnen, aangezien unices werken met een ander type. (ELF) Maar ook hier wordt niet geëmuleerd, maar gaat het om een soort wrapper: De componenten van de EXE-file worden op de juiste manier in het geheugen gezet, zodat het host-operatingsystem in staat is om het te runnen.
Not entirely wrong... *)

"Wine" voert de windows-binaries native uit (de machinecode instructies in de executable worden uitgevoerd op de CPU(s) waar Wine draait). (in tegenstelling tot machine-emulators (zoals Bochs) die dat niet doen).
Daarnaast voorziet Wine programma's (grotendeels) van de benodigde libraries e.d. die zij nodig (denken te) hebben. Dat wil voor het grootste deel zeggen: de win32 API's. Hierbij legt Wine een link tussen de API's die het programma nodig heeft, en de API's die het hostsysteem (linux/BSD/etc.) kent. Daarbij worden delen van de omgeving ge-emuleerd, bijvoorbeeld het besturingssysteem (what a suprise! :) ), de videokaart/geluidskaart-drivers, enz.

Om dit alles mogelijk te kunnen maken en omdat er sowieso geen linux-loader is voor het win32 (PE) objectformaat, is Wine ook de "loader" die de executables uitpakt, de benodigde libraries opent en de handlers daarvoor doorgeeft aan de applicatie(s).Ook vangt Wine de onafgevangen excepties af en handelt ze zelfs (eventueel) ook af (indien nodig/gewenst).

Wine is dus eigenlijk "software" dat bestaat uit een win32 loader met een nagebootste/grootendeels ge-emuleerde besturingssysteemomgeving.
WIALWAEE: Wine Is A Loader With An Emulated Environment B-)

"denk ik" (correct me if I'm wrong ;) )
..uhm da's precies wat ik hierboven ook al zei in iets andere bewoordingen.
Not entirely :*)
Ja het overlapt jouw post enigszins... zri, keek ff alleen naar de replies op cyberguy zelf... :z

Maar ik ben van mening dat het dus wel even wat meer is dan een API-wrapper, het emuleert daarnaast ook nog een behoorlijke groot deel van de win32 OS-omgeving, en bovendien zorgt het voor het uitvoeren van de code en houd daarbij ook eventueel optredende excepties/traps etc. in de gaten.
"Winelib" is trouwens de API-wrapper, maar dat is naar mijn mening niet het bijzonderste deel van de code. GTK-- is ook een API-wrapper, maar daar kan je echt geen binaries mee uitvoeren inclusief besturingsomgevingen (in meerder smaken met hun eigenaardigheden!)... Een hele prestatie dat Wine dat allemaal wel in zich heeft...
/edit: rare zin-sloop...
huh??? begrijp ik het goed?

kan je op een mac windows software emuleren met wine? (onder linux ofcourse)

ik had altijd zon mening dat het alleen op linux kon met een normale X86 proc, omdat ik d8 dat de software onder windows alleen voor x86 gecompileerd was zodoende valt het alleen daaronder te emuleren zeg maar...
Van de WINE-website:
Myth 10: "Wine is for Intel x86 only"
Well, it is true that Wine only runs on Intel's x86 processors. Unfortunately it will also require quite a lot of work before it runs on other processor architectures.
But what do we mean by 'running on a non x86 processor'.

First it can mean 'I can compile a Windows application on Sparc, link it with Winelib, and have it run on Solaris'. I know, this is not what you had in mind. This may seem very restrictive and yet would be very useful: it means easy porting of Windows applications to almost any Unix architecture. In any case this is the first step towards allowing Wine to run on other processor architectures. Unfortunately Wine's code is not very portable to other processor architectures, partly because some parts of it have to know a lot about the processor, and partly because most of it makes assumptions like 'sizeof(int)==sizeof(pointer)' and 'byte-sex==little-endian'. This is being worked on though, and progress is being made albeit slowly.

Then we could take it to mean 'Wine on Alpha should be able to run Windows NT Alpha applications'. The prerequisite for this is that Winelib compiles on Alpha (or MIPS, the other defunct Windows NT platform). Now, would it be really useful? I don't think many people have Windows NT applications for the Alpha or MIPS processor. So this is probably not that useful and also rather unlikely to happen since we would need a programmer who has just this combination of hardware and software to work on it.

Then there's what everyone has been waiting for: 'I want to be able to run my x86 Windows applications on any processor architecture I like. That's the most complex one. Again the prerequisite is that Winelib works on this architecture, which will definitely happen someday. Then 'all that is needed' is to integrate an x86 emulator with Wine (and also change Wine's name :-). Ulrich Weigand just did that as an experiment some time ago when he had 'some spare time'. He even managed to get some Win16 applications to run. His code was not in a state where it could be integrated into Wine yet and I don't know how much work has been put into pursuing it. His attempt did spark many discussions on Wine's mailing list though. The result is that we would need a sophisticated emulator including a JIT in order to get something really viable (i.e. not too slow). And developing such an emulator is a whole project in itself.
Does it mean it will never happen? Not sure. Maybe we'll get some motivated developers once the Winelib problems are solved. Of course, it would happen much faster if, for instance, Compaq made its Fx32! Intel x86 emulator open-source and financed the development of Wine for their Alpha machines. As with all open-source projects, if enough people are interested and pool their resources together, it will happen.
Het stukje tekst wat ik vet én schuin heb afgedrukt kan een verklaring zijn voor de "- Much improved PowerPC support." in de changelog.

Windows kan niet op de PowerPC gedraaid worden (alleen een oude NT, maar daar richten ze zich bij de ontwikkeling van Wine niet op, en de reden daarvoor beschrijven ze in de alinea over de Alpha's), maar ze proberen het wel zo platform onafhankelijk mogelijk te maken, zodat het wel mogelijk is mocht er voor bepaalde architecturen een x86-emulator verschijnen. Dit is al het geval bij de Alpha, zo valt er ook in het stukje te lezen.
Ze willen in ieder geval de code van Wine zo architectuur-onafhankelijk mogelijk hebben, zodat het gemakkelijk te porten is naar een andere architectuur zodra dat aantrekkelijk wordt. Dit is vrij lastig, omdat sommige delen van Wine erg x86-gericht zijn, maar ze werken er wel aan, en blijkbaar is er bij deze versie op PPC-gebied een stukje vooruitgang geboekt.
En ter aanvulling/ondersteuning...
Het werkt erg leuk en snel om win32 sourcecode om te zetten met winelib (van intel naar intel). Dat heeft Coral trouwens ook gedaan met WP8 en WP2000 en Borland met de Kylix IDE omgeving (niet te verwarren met CLX, daar was Kylix (nog) niet mee gebouwd, maar bouwde er zelf wel mee :? ) Beide bedrijven hebben dan ook behoorlijk bijgedragen aan de ontwikkeling van Wine.

Die PowerPC updates zijn dus echt behoorlijk nuttig, niet voor de eindgebruiker, maar vooral voor de softwareontwikkelaar die even snel een applicatie vanaf win32 wil porten. Uit m'n eigen ervaring.
Gecompileerde programma's kunnen dan wel niet op de mac draaien, maar met de sourcecode kom je hopelijk nu een heel end...

Op dit item kan niet meer gereageerd worden.



© 1998 - 2016 de Persgroep Online Services B.V. Tweakers vormt samen met o.a. Autotrack en Carsom.nl de Persgroep Online Services B.V. Hosting door True