[Wine] Re: Run linux binaries on Windows

oiaohm wineforum-user at winehq.org
Sun Feb 7 06:07:58 CST 2010


Neither did I first time either.  daxue.

You still have to have a elf friendly memory map to run linux binaries.  So things that would be other wise forbin could be allowed.   That is the problem. 

The best way to run Linux binaries is a Linux or freebsd kernel or solarias kernel.  Guess what all 3 have in common there core executable fileformat is elf.  So memory matches up.

CPU will receive instructions form the ELF code to perform memory operations.   The ELF memory management systems allow massive over allocation of memory.  And I do mean massive.   Until the memory is used it does not become a real allocation under ELF base systems.   NT is not designed to operate this way either.

The differences in memory operations also make it hard to run Linux stuff effectively under windows.

colinux cheats by allocation a large block of memory to itself.   So hurting the over all performance of the machine when colinux doing bugger all.  Dynamic allocation will cure lot of colinux problems.  Also provides out of memory problems in the Linux part while windows still has tons and vice-versa.   Really work on fixing up the memory system of colinux is possible.

I have not even got anywhere near the file-system differences anywhere in my comments yet.  That brings in another complete set of headaches including NTFS having posix permissions implemented incorrectly.

cygwin is particularly slow in places.  Items like cygwin don't try to run a real Linux binary so are workable.

Unless someone finds some new way to run Linux binarys under windows kernel it is basically impossible to pull off right without large support code.

daxue hard as it sounds you have better options of Windows under Linux than what you have with Linux under windows purely due to the compadiblity.  Remember Linux kernels these days has ksm what basically can scan threw any OS running under kvm and recovery the space of any memory page containing the same data as another without breaking anything.

When it comes it memory management it does not help that windows is primitive in compare to Linux.  ksm is used on some large science data sets to prevent programs from eating system out of house and home by duplication allocations of data blocks while they are trying to alter stuff.

No matter how you look at this you are trying to go upstream without a paddle.  People have not failed to do what you asked about unless it is insanely hard.







More information about the wine-users mailing list