Beta
×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Native Windows PE File Loading on OS X?

Zonk posted more than 6 years ago | from the to-what-purpose-and-determination dept.

OS X 397

ozmanjusri writes "Coders working on Wine for Mac have found that the Mac loader has gained its own undocumented ability to load and understand Windows Portable Executable (PE) files. They found PE loading capabilities in Leopard that weren't there in Tiger. Further dissection showed that Apple is masking references to 'Win' and 'PE' in the dll, which means it's not an accidental inclusion. Is Apple planning native PE execution within OS X?"

cancel ×

397 comments

Sorry! There are no comments related to the filter you selected.

noooo FP (5, Insightful)

Anonymous Coward | more than 6 years ago | (#21546949)

please not - i don't need every windows malware able to run on my mac...

Re:noooo FP (1)

Alan Partridge (516639) | more than 6 years ago | (#21547043)

Yes please - we only keep Windows machines around for a couple of vital apps - we'd love to dump the crappy, unreliable hulks.

Offtopic; Slashdot's fucked up RSS feeds (-1, Offtopic)

Anonymous Coward | more than 6 years ago | (#21547733)

So I signed up to slashdot's rss feed http://rss.slashdot.org/Slashdot/slashdot [slashdot.org] and enjoyed it, but then noticed some stories weren't ending up in my rss reader while they did end up on the slashdot front page (games in particular). So I went to search, opened up an article in each category, and then saved the rss urls, here are some examples.

http://rss.slashdot.org/Slashdot/slashdotApache [slashdot.org]
http://rss.slashdot.org/Slashdot/slashdotBookReviews [slashdot.org]
http://rss.slashdot.org/Slashdot/slashdotFeatures [slashdot.org]
http://rss.slashdot.org/Slashdot/slashdotGames [slashdot.org]
http://rss.slashdot.org/Slashdot/slashdotGeeksInSpace [slashdot.org]
http://rss.slashdot.org/Slashdot/slashdotInterviews [slashdot.org]
http://rss.slashdot.org/Slashdot/slashdotLinux [slashdot.org]
http://rss.slashdot.org/Slashdot/slashdotSearch [slashdot.org]

Apple was in there (as were others), but it seems that apple articles hit the front page anyway, so I just got dupes. And thats the problem. When something ends up in several categories, it always gets duped. I'm not changing my rss reader, and im on a modem so downloading all of these rss feeds constantly is a drain on limited resources to begin with. Why the hell isn't there just a simple "all articles" feed? Am I doing something wrong, or is this one of the many ways slashdot is fucked up for no good reason (like not being able to comment in articles you have moderated).

Sincerely,
Anonymous Coward

Re:noooo FP (0, Flamebait)

tacocat (527354) | more than 6 years ago | (#21547261)

Exactly what I was thinking!!!

I can't imagine why anyone in their right mind would do anything to allow the worlds most insecure operating system to gain access of any kind to their hardware. Might as well pin a hundred dollar bill to your ass and yell, "Victim Here!"

Re:noooo FP (-1, Troll)

toadlife (301863) | more than 6 years ago | (#21547533)

...the worlds most insecure operating system...
Why do you fanbiois always have to bring Linux into the discussion?

Might as well pin a hundred dollar bill to your ass and yell, "Victim Here!"
You're making the Mac users here hard.

Re:noooo FP (5, Interesting)

onefriedrice (1171917) | more than 6 years ago | (#21547483)

> please not - i don't need every windows malware able to run on my mac...

Except windows malware is just that: malware written for Windows. While it could potentially run, malware wouldn't automatically become a problem. You'd have a much easier time accidently running OS X malware than Windows malware. Think of it as WINE for OS X (which is apparently exactly what it is or will be except Jaguar can load the binaries itself). People running Windows binaries via WINE on Linux don't experience the same problems with malware because the expected security flaws in the underlying OS and/or applications aren't there.

In short, if Apple plans to implement a built-in WINE-like ability to run some Windows binaries in OS X, there is no reason to suspect it will cause a breeding ground for Windows malware. Malware only has the opportunity to run if it can somehow get installed.

Re:noooo FP (-1, Flamebait)

Anonymous Coward | more than 6 years ago | (#21547607)

Shhhhhh... or else the Apple fans will be revealed as knowing absolutely nothing about computer operating systems and software.

Re:noooo FP (1, Offtopic)

devjj (956776) | more than 6 years ago | (#21547633)

I'm an Apple fan, and I also happen to be a software developer. I use Linux regularly, an have built many PCs by hand.

Save the stereotypes for Digg, please.

Re:noooo FP (1)

Ahruman (806510) | more than 6 years ago | (#21547849)

Jaguar? You expect this to be backported to 10.2?

F1r5t p0st (-1, Offtopic)

Anonymous Coward | more than 6 years ago | (#21546951)

FIRST POST!

Not for Win32 compatibility (5, Interesting)

SigILL (6475) | more than 6 years ago | (#21546961)

I don't think this is intended for Win32 compatibility. Apple has every reason not to do that, because it will mean there will be no more native versions of high-profile applications such as Photoshop. Adobe is probably already pissed off there won't be a 64-bit version of Carbon, which requires them to rewrite the entire UI of Photoshop in Cocoa to be able to release a 64-bit version of it. Giving them an easy way out by offering Win32 binary-level compatibility isn't in Apple's best interest there.

However, consider that the PE file format is also used by Microsoft's Common Language Runtime (CLR/.NET). Therefore, I think this is a preparatory move to start offering a native implementation of the .NET platform for OS X.

Re:Not for Win32 compatibility (1)

smaddox (928261) | more than 6 years ago | (#21547005)

Couldn't they just run the UI as 32bit and the actual algorithms as separate 64 bit processes?

May take some engineering, but it seems like it could be possible.

Re:Not for Win32 compatibility (3, Insightful)

cnettel (836611) | more than 6 years ago | (#21547025)

UI includes showing the actual images. Sending them over IPC is certainly not wise from a performance standpoint.

Re:Not for Win32 compatibility (0)

Anonymous Coward | more than 6 years ago | (#21547117)

UIs are full of repetitive images. Send the most common ones over IPC once and have the UI cache them for great justice for glorious nation Kazahkstan.

Re:Not for Win32 compatibility (1, Informative)

Anonymous Coward | more than 6 years ago | (#21547207)

Uh, he means the image you're editing/viewing in your PhotoShop window. The overhead of passing "control" messages from a UI widget to a process are trivial. The overhead of passing large (uncachable) image data structures between processes isn't.

Re:Not for Win32 compatibility (3, Interesting)

setagllib (753300) | more than 6 years ago | (#21547649)

With SystemV shared memory (shmem) it's trivial, and that's a decades-old feature of Real Unixes. What, doesn't OSX support it?

Even so, of course Photoshop should be rewritten for the new framework. After all, when a proprietary technology corporation decides to screw over their third-party developers and customers, isn't it the American Way to bear all the costs and keep paying them money?

Re:Not for Win32 compatibility (2, Interesting)

Ahruman (806510) | more than 6 years ago | (#21547869)

Dunno, but it does support Mach ports, which support transferring pages between processes without copying and would be a sensible way to implement this sort of thing. However, moving all the back-end work of an existing app with plug-ins that require UI would be at least as big a change as switching to Cocoa. They could have done it for 10.4, but didn't. I doubt they'll do it now either.

Re:Not for Win32 compatibility (3, Informative)

Anonymous Coward | more than 6 years ago | (#21547185)

Dude, most X servers running on Linux, Solaris, *BSD and a host of other modern UNIX systems make liberal use of IPC, in the form of the MIT-SHM [reptiles.org] shared memory extension:

The basic capability provided is that of shared memory XImages. This is essentially a version of the ximage interface where the actual image data is stored in a shared memory segment, and thus need not be moved through the Xlib interprocess communication channel. For large images, use of this facility can result in some real performance increases.

Additionally, some implementations provide shared memory pixmaps. These are 2 dimensional arrays of pixels in a format specified by the X server, where the image data is stored in the shared memory segment. Through use of shared memory pixmaps, it is possible to change the contents of these pixmaps without using any Xlib routines at all.


This extension goes back nearly two decades. Yes, 20 years! Lower-end computers 20 years ago were able to use UNIX IPC, for high-performance graphics, in a very usable manner. There's no reason why a computer from today, especially a high-end Mac, couldn't effectively use shared memory in such a fashion. This is especially true on Mac OS X, which does offer the UNIX-like functionality that is required. Combined with the brilliant minds at Adobe (they hire a large number of the top Indian graduates each year), there's no reason why they couldn't get Photoshop working using such technology.

Re:Not for Win32 compatibility (0)

Anonymous Coward | more than 6 years ago | (#21547321)

Hmm, except that it doesn't have to be process->process. Any 32-bit process can map a 64-bit address-space via a mach port. The memory-access performance is pretty darn good. Not *quite* as good as a true 64-bit app, but not at all noticeable.

Re:Not for Win32 compatibility (2, Insightful)

Anonymous Coward | more than 6 years ago | (#21547065)

Umm...one of Apple's biggest selling points for the Mac if you go into any store that sells one is that it can "still run all of your Windows stuff." They've changed architectures over to Intel-based PC's.

You have any special insight that would suggest why they _wouldn't_ want to be as compatible with Windows as possible, being that they're trying hard to convince people to switch? Why they wouldn't want a PC that can already run all of the Windows software on the shelves, without the painful experience of having to use Vista (which they reference more and more often in their commercials)? I think not.

Re:Not for Win32 compatibility (2, Insightful)

SigILL (6475) | more than 6 years ago | (#21547147)

You have any special insight that would suggest why they _wouldn't_ want to be as compatible with Windows as possible, being that they're trying hard to convince people to switch?

Because if they did, customers could choose between machines that sorta run Windows applications (Macs) or machines that run Windows applications properly (PCs). As Wine proves, any reimplementation of the Win32 API is inevitably not going to be as good as the real thing.

Providing compatibility with Windows through VMWare or Parallels is a lot better in that respect. And if a virtual machine should fail, so what? It would only make Microsoft or the virtual machine maker look bad, not Apple.

Besides, as I said in my original post: I think the moment Apple starts offering integrated Win32 binary-level compatibility is the moment software vendors stop offering Mac-native applications. And that's the point where Apple might as well start bundling the current version of Windows with their systems.

Re:Not for Win32 compatibility (5, Funny)

Marcos Eliziario (969923) | more than 6 years ago | (#21547223)

"As Wine proves, any reimplementation of the Win32 API is inevitably not going to be as good as the real thing."

Yeah, most of my pet spywares fail to run correctly under wine.

Re:Not for Win32 compatibility (4, Insightful)

jcr (53032) | more than 6 years ago | (#21547239)

one of Apple's biggest selling points for the Mac if you go into any store that sells one is that it can "still run all of your Windows stuff."

No. The big selling points are what you can do with the Mac OS. Boot camp is more in the vein of removing a common barrier to a sale.

-jcr

Re:Not for Win32 compatibility (0)

Anonymous Coward | more than 6 years ago | (#21547287)

Mind telling me what the difference is between a selling point and removing a barrier to sale, exactly? Both are serving the exact same purpose, informing the customer in such a way as to influence their purchasing. There is no fundamental difference between the two. I guess you agree with me whether you intended to or not...either that or you're a Mac fan who is insulted by the possibility that Windows compatibility might be important to people in buying an iMac over a Dell. I don't personally care which.

The point still stands. Apple have made their _own_ Mac. vs PC ads espousing the fact that people can still run their Windows software if need be. It IS a selling point for Apple whether you choose to dress it up in fancy language or not ("removing a barrier?" You make it sound as if they're doing people a public service rather than just addressing the market needs...which, whether you accept it or not, include the need to run Windows software on Mac hardware).

Re:Not for Win32 compatibility (5, Insightful)

jcr (53032) | more than 6 years ago | (#21547423)

Mind telling me what the difference is between a selling point and removing a barrier to sale, exactly?

A selling point is a reason why a product is superior to another product. A barrier to sale is a reason why a customer might be bound to stay with a different product.

You don't buy a Mac because it can run a windows app, since the cheap shit from Dell will do that, too. You buy the Mac for the things that it offers over and above what the Dell box can do.

-jcr

Re:Not for Win32 compatibility (1)

duffbeer703 (177751) | more than 6 years ago | (#21547699)

Remember that Mac is a hardware company. The ultimate goal of Apple is to sell hardware -- who gives a shit what you do with it. If anything, a customer using a Mac as an overpriced PC is a better customer that isn't going to need support for OSX, patches etc.

Boot Camp/VMWare/etc helps to sell computers, so to Apple its a good thing.

Re:Not for Win32 compatibility (4, Interesting)

EveLibertine (847955) | more than 6 years ago | (#21547817)

bullhonky. Apple _was_ a hardware company. Since they started selling x86 pc's, the only way to distinguish them from any other pc out there is with their software. They are a software company when it comes down to it.

Re:Not for Win32 compatibility (1)

Shabadage (1037824) | more than 6 years ago | (#21547363)

Yeah, you can; if you install windows on the Mac. We're talking OSX here. Apples and Oranges.

How could it be for Win32 compatibility (1)

Rosyna (80334) | more than 6 years ago | (#21547183)

I don't understand how this could be for Win32 compatibility. Just being able to load the PE executable format does not mean you can actually use anything in PE executables. It's required before anything else is done, sure, but it doesn't mean compatibility. Especially since you'd still need PE files to load. And then you'd need shims. Lots of shims. Just look at WINE, loading PEs doesn't seem to be a huge part of it. It could just be necessary support so a third party can finish the job (kind of like all the VPC-specific stuff they had for PowerPC Mac OS X).

I'd normally say Apple would never finish the rest of this. But they switched to Intel.

Re:How could it be for Win32 compatibility (1)

cduffy (652) | more than 6 years ago | (#21547685)

As you say -- you'd need shims, and wrappers, and a whole lot more -- but none of those will work until you've got support in the loader.

So they've got support in the loader, and perhaps some future version of MacOS X will have WINE-alike code for the API and syscalls (or a .NET CLR interpreter, if that's what they're going for). It's groundwork. If Apple never included parts of a feature until the whole thing was production status, there wouldn't be read-only ZFS support in OS X right now.

Re:Not for Win32 compatibility (1)

jcr (53032) | more than 6 years ago | (#21547213)

I think this is a preparatory move to start offering a native implementation of the .NET platform for OS X.

Not likely. Apple's not about to sign up to support a Microsoft API on OS X. They very explicitly state that you're on your own if you run Windows with boot camp, for example. They don't supply a WMA plug-in for Quicktime (leaving that up to a third party), and they know better than to try going down that rathole.

I think that recognizing PE files is all about EFI, and nothing more.

-jcr

Re:Not for Win32 compatibility (5, Informative)

SigILL (6475) | more than 6 years ago | (#21547257)

Not likely. Apple's not about to sign up to support a Microsoft API on OS X.

You realise it's an open standard [wikipedia.org] , do you? Hell, it's even ISO approved [iso.org] .

Apple would gain a _lot_ by providing support for .NET, without losing much.

Re:Not for Win32 compatibility (2, Insightful)

sjf (3790) | more than 6 years ago | (#21547415)

If I had mod points, you'd get them. This is a good point. There are a lot of .NET programmers out there, and anything to encourage coding for a platform has to be a good thing.

On the otherhand, I doubt this is the full story. I'd bet on "you can run your windows apps without running windows" before I'd bet on, ".NET programmers wanted, no Mac experience necessary."

Re:Not for Win32 compatibility (1)

duffbeer703 (177751) | more than 6 years ago | (#21547757)

You're spot on.

Apple doesn't have a mature enough sales force or market stability to aim at the enterprise markets that .Net is thriving in. I know of large Mac shops that are totally screwed right now because key features (like directory integration) that they absolutely need simply don't work in Leopard at the moment. Apple was kind enough to ship hundreds of Leopard only computers that will be useless for months.

Re:Not for Win32 compatibility (1)

jcr (53032) | more than 6 years ago | (#21547439)

You realise it's an open standard, do you?

So what?

Apple would gain a _lot_ by providing support for .NET, without losing much.

Can you quantify this supposed gain? Do you have any idea of what the costs of support it would be?

Didn't think so.

-jcr

Re:Not for Win32 compatibility (4, Interesting)

SigILL (6475) | more than 6 years ago | (#21547557)

Can you quantify this supposed gain?

Sure I can... a little.

Right now, the world's colleges and universities are churning out Java & C# programmers. Those are the popular languages, the ones for which you can almost literally open up a can of programmers for.

Not so with Objective C. It's even starting to get problematic to find competent C++ programmers.

Microsoft's seen the proverbial storm coming, and has been working on an alternative for their aging and clunky Win32 API. Remember a few years back, when the Redmontians announced that Vista (then called Longhorn) would only support .NET programs natively? Back then the world evidently wasn't ready for it. But it's slowly becoming ready, because it's getting harder and harder to find competent C++ programmers.

Meanwhile, Apple is tied to Objective C. A language few people are willing to learn (remember "Objectionable C"?). For very valid technical reasons, Apple is slowly moving its developer base over from C/C++-written Carbon apps to Cocoa apps written in Objective C. However, this makes it even harder for software vendors to find competent developers for their Mac OS X offerings.

So, enter .NET. It's reasonably fast (getting faster), it has plenty of mindshare, and most importantly: there isn't much in the way of a legacy code base for it. Supporting .NET doesn't mean hurting your own APIs, its simply an additional one.

Is that enough of a quantification for you?

Re:Not for Win32 compatibility (0, Troll)

jcr (53032) | more than 6 years ago | (#21547779)

Is that enough of a quantification for you?

Nope. Do you even know what "quantification" means?

-jcr

Re:Not for Win32 compatibility (2, Interesting)

turgid (580780) | more than 6 years ago | (#21547563)

So why to the EULA's of MS's own apps forbid you from running them on non-MS operating systems?

Re:Not for Win32 compatibility (1)

samkass (174571) | more than 6 years ago | (#21547281)

PE is also the format for EFI, which Apple uses. It could be a step towards a more powerful boot loader.

This is all just wild speculation. I'd personally love it if Apple replaced its aging Cocoa/Objective-C/XCode infrastructure with something more modern like .NET or Java, but I don't think it's going to happen anytime soon.

Re:Not for Win32 compatibility (2, Insightful)

abigor (540274) | more than 6 years ago | (#21547401)

I'd personally love it if Apple replaced its aging Cocoa/Objective-C/XCode infrastructure with something more modern like .NET or Java, but I don't think it's going to happen anytime soon.
Well, Apple has cut loose the Java bindings to Cocoa, so I guess you're right.

I've only dabbled with Cocoa in order to learn Objective-C, but the whole thing seems super elegant, and Objective-C itself is SO much nicer to work with than Java - it's like C combined with Python (very dynamic). The class hierarchy is clean and not particularly deep. I don't know, I personally think moving to, say, Java for infrastructure would be a step backwards (and I say this as someone whose current contracts are all big Java projects). But that's just my opinion.

Re:Not for Win32 compatibility (5, Informative)

Space cowboy (13680) | more than 6 years ago | (#21547435)

I'd personally hate it if they gave up the beautiful elegance that is ObjC and forced Apple developers to move to Java or .NET.

I've said it before, and I'll say it again now: Objective C is exactly at the sweet spot for a computer language - it has all the power of C (it's a formal superset), the nice features of a true object-orientated language (OOP, garbage collection, protocols, etc.), adds in dynamic dispatch (thus removing the need for generics), and does it all by adding about a dozen commands to the C language. The only thing against it is the unfamiliar (to C/C++ programmers) syntax. Really, though, how hard is it to make the mental leap to [myObject insertObject:xxx atPosition:yyy] from myObject->insertObjectAtPosition(xxx,yyy) ? And which is the more readable ?

Plus, the class library is *very* well designed. It makes easy things easy, and hard things possible. A lot of hard things are pretty easy too... There's a site [dotnetdeve...ournal.com] that often compares .NET and ObjC/Cocoa. It frequently (despite the obvious potential bias given the name of the site) argues that the ObjC method for doing something is better thought out, more elegant, or simply more capable than the corresponding .NET approach.

Objective C is a classic example of how a simple clear approach can reap huge rewards in terms of usability and flexibility. It's not the over-designed bloat-fest that is C++ (template metaprogramming ? Really ?), and it's not the raw pedal-to-the-metal-hear-the-engine-scream-in-protest of plain old C. I've never yet met anyone give it a fair try (ie: write a real program in it) and not end up loving the language.

Simon

Re:Not for Win32 compatibility (1)

batkiwi (137781) | more than 6 years ago | (#21547341)

.Net capability (and focus) could also explain the lack of Java updates.

Adobe? Please. (1)

jpellino (202698) | more than 6 years ago | (#21547407)

No tears. Adobe had just as much time as any other developer abotu Xcode and Intel, and then spent the better part of a year doing their best huminahumina Jackie Gleason imitation when they failed to produce universal binaries along with most of the rest of the major developers.

Re:Not for Win32 compatibility (4, Interesting)

iJed (594606) | more than 6 years ago | (#21547581)

However, consider that the PE file format is also used by Microsoft's Common Language Runtime (CLR/.NET). Therefore, I think this is a preparatory move to start offering a native implementation of the .NET platform for OS X.

I was just about to post this myself... It makes a lot of sense for Apple to support .NET on Mac OS X. For a start C# is now the flagship language for Windows development and not supporting it may be the difference between getting hundreds of ported apps and not getting them at all. As a Mac user and .NET developer I think it would be a big mistake for Apple to ignore .NET.

I wonder if this is how the sandboxed iPhone SDK, which is to be available in February, will be implemented

Re:Not for Win32 compatibility (1)

Glasswire (302197) | more than 6 years ago | (#21547665)

Frankly the LAST application that would still be Mac native, if OS/X could run Win32 apps would be Photoshop. You want a big application like that to be native.
I think you're right about the intention of PE format giving .NET support though.

Re:Not for Win32 compatibility (0)

Anonymous Coward | more than 6 years ago | (#21547737)

Semi; PE isn't really used for .net. What you really get is a PE "header" or standard launch code followed by the .net assembly in its own format itself (sort of as a tacked on resource from the PE point of view). A bit like how Windows programs start with an MS-DOS program (which, when run in DOS, says that it can only run under Windows).

But it does make sense that this is really a CLR loader rather than a generic PE loader. There's absoultely no need to execute the PE header at the beginning of a CLR assembly if your loader can recognise that it's a CLR assembly - and, certainly, if you're using Mono on a non-x86, rather difficult.

(The PE header is just a windows program that invokes mscoree.dll (I think) and passes it the path to this program as an argument; allowes .net exes to run on windows versions that don't natively recognise .Net assemblies.)

Now, I wonder, if Apple do implement .Net, does this mean they'll implement the Windows.Forms namespace?

Win32 on OS X -- goodness (1)

gothicpoet (694573) | more than 6 years ago | (#21546977)

This is pretty fascinating. If Apple were able to run Win32 executables at some point out of the box it would add a great deal of value to their platform -- especially if it worked well enough to do things like run all of those games that you can't play on OS X so far.

Re:Win32 on OS X -- goodness (5, Insightful)

Anonymous Coward | more than 6 years ago | (#21547385)

That is not true. Anyone remember when IBM did this with OS/2? It killed the market for OS/2 software, because every developer just wrote for the lowest common denominator (Windows) instead of making "native" OS/2 software. Adding Windows application support in Mac OS X would kill the platform slowly.

Re:Win32 on OS X -- goodness (1)

jcr (53032) | more than 6 years ago | (#21547467)

Bingo! Give the man a cigar!

-jcr

Re:Win32 on OS X -- goodness (-1, Troll)

Anonymous Coward | more than 6 years ago | (#21547637)

Bingo! Give the man a cigar!
He's a Mac user. He's probably already "smoking" a "cigar".

Watch out microsoft (1, Interesting)

eli pabst (948845) | more than 6 years ago | (#21546979)

Interesting. One of the major downsides to using OSX is that there isn't as much software available for it. If OSX were able to run windows executables natively (think Microsoft Office and games) that would be a major coup for Apple. Plus you wouldn't need to sit around hoping that WINE decides to support that application.

Four words: (0)

Anonymous Coward | more than 6 years ago | (#21547019)

When hell freezes over.

Re:Watch out microsoft (0)

Anonymous Coward | more than 6 years ago | (#21547023)

um, except there is office on osx and a _ton_ of amazing software. as a mac/linux/windows user, i'd say the best overall software in terms of usable/quality stuff is out on the mac.

On what fantasy planet do you live on? (1)

Ayanami Rei (621112) | more than 6 years ago | (#21547051)

You'd have heard that Apple was licensing the Windows common runtime from Microsoft, Mainwin, or somebody like that if that's what their goal was. Even Apple doesn't have the resources to re-implement the Wine wheel. .NET is, however, an open standard with an implementation that already works on FreeBSD and OSX (10.2 and up)... ENTERPRISEY!

Re:On what fantasy planet do you live on? (1)

eli pabst (948845) | more than 6 years ago | (#21547193)

Look at the comments in the mailing list, like:

"I think it may be a sign of future addition of a Win32 subsystem to OS X."
And that's coming from the WINE guys. To be honest, I'm not a Windows guy so I don't know that much about the ins and outs of the licensing, but I don't think it's that absurd if the WINE people are legitimately suspicious that they're adding some form of WIN32 capability. Maybe you can enlighten me on why that would be impossible for Apple to do, but WINE can get away with it?

The sheer amount of work. (1)

Ayanami Rei (621112) | more than 6 years ago | (#21547693)

The Apple devs are good. But not that good. (Wine is how old?)
Keep in mind most of the software they release is acquired through purchase or license and then revamped and maintained. Not that they don't make a lot of changes and improvements, but I don't see them making a Win32 subsystem from scratch.

But I _can_ see them taking the ECMA standard and adding support for the more advanced features in WinForms w/Cocoa bindings and stuff, thus creating a nifty ecosystem of cross-platform software, a native SilverLight implementation, and blah-dee-blah-dee-blah.

This is especially relevant as Microsoft is encouraging developers using VS2005+ to target .NET 3.0 and up, taking advantage of all the new Vista capabilities. New windows software implicitly running on OSX? Using VMWare Fusion to run the old and busted stuff?
Sounds like a plan to me.

Re:On what fantasy planet do you live on? (3, Funny)

colourmyeyes (1028804) | more than 6 years ago | (#21547199)

Try not to say the same thing twice in your subject, because that's redundant, which means you're saying the same thing twice and being redundant.

Re:On what fantasy planet do you live on? (1)

TheSpoom (715771) | more than 6 years ago | (#21547447)

Not to mention that he was being redundant.

Re:Watch out microsoft (5, Funny)

g0at (135364) | more than 6 years ago | (#21547137)

Interesting. One of the major downsides to using OSX is that there isn't as much software available for it. If OSX were able to run windows executables natively (think Microsoft Office and games) that would be a major coup for Apple. Plus you wouldn't need to sit around hoping that WINE decides to support that application.
Eh? Did you copy/paste this from a discussion five years ago?

-b

Re:Watch out microsoft (1)

christurkel (520220) | more than 6 years ago | (#21547195)

I thought the same thing, but even further back. There has been, for instance, a native MS Office since 1997.

Re:Watch out microsoft (1)

eli pabst (948845) | more than 6 years ago | (#21547307)

Yes I realize there is a OSX version of MS Office. There has also been consistent threats by MS to not release versions for OSX and there have also been plenty of complaints that the OSX version is buggy and doesn't run as well. Plus how many people avoids becoming switchers because you can't run games? When did they release a Mac version of Halo? What about Halflife?

Re:Watch out microsoft (1)

Winckle (870180) | more than 6 years ago | (#21547671)

Mac version of halo was 2004 I think. Half life for mac was canceled in 99.

Re:Watch out microsoft (2, Interesting)

PCM2 (4486) | more than 6 years ago | (#21547715)

there have also been plenty of complaints that the OSX version is buggy and doesn't run as well.

From who? Most of the people I know who have used both say that Mac Office 2004 is better than Office 2003 for Windows (and they think that makes no sense and they don't get what the hell is wrong with Microsoft).

Re:Watch out microsoft (1)

ceoyoyo (59147) | more than 6 years ago | (#21547725)

What he means is that there isn't as much crappy software for it.

Re:Watch out microsoft (1)

GiMP (10923) | more than 6 years ago | (#21547173)

With a few exceptions, there is usually more than one well-known application under MacOS (or Linux, for that matter) to perform any given task. Also, the pure number of applications has nothing to do with the usefulness of said applications. There may only be 200 text editors for MacOS, as opposed to 20000 text editors for Windows, but on either platform there will be less than 10 that are really worth using.

The popularity of Parallels and VMWare Fusion is boggling because there really isn't that much of a need or desire to run applications from one OS, from another; if there was, those users wouldn't have bought a Mac in the first place. Personally, I use virtualization for testing and deployment, usually of Linux systems, not for "running Windows apps" because I have every application that I need on my OS -- if I couldn't run all the applications that I needed on MacOS or Linux, I would be running Windows. The fact that I'm not running Windows only shows that I don't need those Windows applications -- 200 text editors is enough, thank you.

Re:Watch out microsoft (1)

Hemogoblin (982564) | more than 6 years ago | (#21547489)

I agree with your thesis that there is usually an equivalent program available for a given OS. However, you're forgetting about high-profile games that are specific to Windows. It's difficult, if not impossible, to find an equivalent version for some OSs.

Re:Watch out microsoft (1)

spud603 (832173) | more than 6 years ago | (#21547801)

I generally agree as well that there's a native app on OSX for any task I'd be doing with a Windows app. Usually even one I like more.
However, compatibility with specific programs is trickier. The sole reason that I use VMWare is to run Microsoft Access (among the worst database apps I've ever had to use, though to be fair I do think the 2007 version actually managed to be an improvement). But .mdb files are everywhere, particularly in the business world, and there's no reliable way to read them without Access. So until I convince my boss to move over to SQLite databases with a Kexi frontend I'm stuck.
That said, I boot into it as infrequently as I can, maybe once a month.

Re:Watch out microsoft (1)

Dasher42 (514179) | more than 6 years ago | (#21547215)

Having a history of using MS-DOS, the Amiga, OS/2, and Linux since the Slackware 0.9x days, I'm now using OSX on my MacBook Pro primarily. "Not as much software available" may be true in some respects, but you should ask yourself how that really affects you. You don't need quantity, you need quality. Right now I have the well integrated, nicely designed software suite that comes with OSX, and a shell prompt is just a click away where I have my MacPorts which makes getting the standard open source software that I have to have available.

My other machines are a Windows/Linux desktop and a Kurobox running Debian. The desktop rarely gets turned on, and the Kurobox does its job serving out NFS and SMB shares and hosting the occasional nethack game quite well. In practice, though, when all these machines are available, it's the quality that counts.

isn't as much software available? (2, Funny)

JonTurner (178845) | more than 6 years ago | (#21547317)

One of the major downsides to using OSX is that there isn't as much software available for it.
Quite true. I've not seen an OSX virus, trojan or spyware in years.

security? (0, Redundant)

yakumo.unr (833476) | more than 6 years ago | (#21547031)

unless their access is locked down won't this open them up to a lot of new security vulnerabilities?

like Quicktime seems to be the source of most win32 vulnerabilities at the moment ;p

Oh God NOOOOO!!! (0)

Anonymous Coward | more than 6 years ago | (#21547057)

Ugly confusing Windows apps on my Mac PRECIOUS?

*faints*

maybe OSX already have wine (3, Interesting)

jim.hansson (1181963) | more than 6 years ago | (#21547101)

wine is LGPL so apple maybe already is using wine.

Virus??? (0, Redundant)

ocirs (1180669) | more than 6 years ago | (#21547107)

Doesn't that mean viruses and adware will also be able to run on Macs?

Hmm... (3, Funny)

FlyByPC (841016) | more than 6 years ago | (#21547125)

A recent article was talking about how much less reliable Leopard seems to be than Tiger.

Now we find out that Leopard has some Windows compatibility. Maybe they're just making it bug-for-bug compatible?

How long until we hear Apple take up the "it's-not-a-bug-it's-a-feature" line?

Well then (1)

iminplaya (723125) | more than 6 years ago | (#21547129)

That should explain the "gray screen of death".

More compatible than Vista (1, Offtopic)

syousef (465911) | more than 6 years ago | (#21547145)

Wouldn't it be funny if OSX ended up better able to load old exes than Vista.

I'm no fan of OSX, but nor am I a fan of Vista. Unpopular as the view is I don't think Linux is "ready for the desktop" either. SO I'm going to be one of these sad people that clings to XP for as long as they can. The bottom line is I can't stand Vista for its restrictions (Microsoft has been behaving very badly in the last couple of years) and I can't stand OSX because I've suffered badly many years ago due to Apple's tactics and my own naivety as a child. I use XP at work and at home begrudingly. As far as I'm concerned the more cross compatibility the better since less of the apps I've spent time finding and learning to use will die a premature death.

Re:More compatible than Vista (1)

pavera (320634) | more than 6 years ago | (#21547339)

how did you suffer badly *many* years ago from OSX its only been out for 6 years, I wouldn't say that is many, and even then it was 10.0, so of course it sucked. Apple's "tactics" hurt you as a child?! wow, that's funny that you were scarred for life by a computer company's tactics when you were 6.

Re:More compatible than Vista (1)

syousef (465911) | more than 6 years ago | (#21547731)

I suffered years ago from Apple. I bought a IIe at a premium just as the Mac came out, then Apple decided to close distribution and I had to drive a couple of hours to get any software legally (whereas I WAs able to buy software from a department store previously).

I think if you get screwed over by a company you should learn from it. Apple does dubious things even now. Like crippling iTunes. I also had to babysit an eMac at work a few years ago and saw it die horribly within a month (motherboard died), then had to jump through hoops with support that was actually worse than most of my experiences with Dell. In terms of general tactics I don't think Apple have changed one bit. Not what I'd call a pleasure to deal with.

By the way you come across as a Mac fanboy.

Re:More compatible than Vista (0)

Anonymous Coward | more than 6 years ago | (#21547487)

Your C-style boolean logic syntax sucks.

Re:More compatible than Vista (1)

spartas (855354) | more than 6 years ago | (#21547643)

I don't think Linux is "ready for the desktop" either
Surely you jest.

Re:More compatible than Vista (1)

cerberusss (660701) | more than 6 years ago | (#21547799)

Unpopular as the view is I don't think Linux is "ready for the desktop" either.
It's unpopular because it's a generalization. For me, it works perfectly.

Re:More compatible than Vista (1)

hyades1 (1149581) | more than 6 years ago | (#21547809)

You're not alone. I'm also going to keep XP going for as long as possible, too.

I never had a problem with Apple, it's just that 'way back, business went DOS/IBM and Apple got frozen out. By the time that situation changed, I worked on a Windows machine and therefore had one at home.

I'm pretty sure my next desktop machine will use a Linux OS, but that won't be 'til XP finally croaks. As far as I'm concerned, you're 100% right. Linux isn't quite ready for prime time yet. Very soon, but not yet. With any luck, they'll come up with a kick-ass OS just when Microsoft releases the Vista successor.

I'm not sure I want to lay out all the extra coin for an Apple. I might, though, for a laptop. It depends on what they come up with, and what my needs are.

Shush! (1)

billcopc (196330) | more than 6 years ago | (#21547149)

The secret is out: Leopard is really just Vista with a new skin! That would explain all the crashing and weirdness.

Seriously, 10.5 has got to be the clumsiest OSX release ever. It introduced a ton of problems.

Most likely there for EFI (5, Informative)

dpokorny (241008) | more than 6 years ago | (#21547153)

The most probable reason for Apple to have partial support for the PE executable format is EFI. Both the firmware itself and all of the drivers embedded within it use the PE object format.

If they want to natively host EFI development and not use Windows to do it, then some level PE support is required.

Just take a look at /System/Library/CoreServices/boot.efi -- it has the same "This program cannot be run in DOS mode." at the beginning of the executable like every other PE executable.

Re:Most likely there for EFI (1)

ElMiguel (117685) | more than 6 years ago | (#21547409)

But why would they try to hide this capability if that was the reason?

Re:Most likely there for EFI (0)

Anonymous Coward | more than 6 years ago | (#21547751)

If you read the thread on the mailing list, Steven Edwards considers this. But, as 10.4 doesn't [winehq.org] have this "secret" ability to load the PE format and also supports EFI (on Intel anyway) it's probably not there for this purpose.

Re:Most likely there for EFI (1, Funny)

Anonymous Coward | more than 6 years ago | (#21547761)

Just take a look at /System/Library/CoreServices/boot.efi -- it has the same "This program cannot be run in DOS mode." at the beginning of the executable

I feel dirty.

Loading PE is not a big deal (5, Insightful)

apankrat (314147) | more than 6 years ago | (#21547179)

The actual problem is resolving all external dependencies of Windows-bound binaries. If the Win32 API is somehow emulated (see Wine project for some "minor" details), this leaves (an ungodly mess of) COM interfaces. Then even if this is taken care of, Apple is going to be quite exposed to a legal beating from MS.

Lastly, "Is Apple planning native PE execution within OSX?" - if they were _planning_ that, they wouldn't include this into a production release of the OS. This means that it's already used for something. The big question is what exactly.

Re:Loading PE is not a big deal (2, Interesting)

NTiOzymandias (753325) | more than 6 years ago | (#21547295)

Lastly, "Is Apple planning native PE execution within OSX?" - if they were _planning_ that, they wouldn't include this into a production release of the OS. This means that it's already used for something.
That, or they implemented the support in such a way that conditional compilation (using #ifdefs) was significantly more complicated and bug-prone than just leaving it in and not documenting it. If you've ever written a C program that had to behave differently on different platforms, you've doubtlessly run into this issue once or twice.

Re:Loading PE is not a big deal (1)

mysidia (191772) | more than 6 years ago | (#21547611)

Planned future additions are not an additional platform. Development code gets to stay in development versions.

You don't put development code in a production release and merely try to #ifdef it out. That's extremely error prone, and messy. You use version control and configuration management, to keep unfinished code under development for the future separate from code for the next release.

I'm sure Apple practices some form of release engineering to keep partially completed, experimental code out of their public releases.

It's very probable that if it is included; something uses it.

Something to ponder (1)

Alexx K (1167919) | more than 6 years ago | (#21547201)

This is either most likely do to Microsoft's monopoly on the desktop, or because of the nature of Apple zealotry, but if Microsoft included support for running OSX binaries, people would be crying "Anti-competition!" faster than it would take to load up Notepad.

Re:Something to ponder (2, Interesting)

cduffy (652) | more than 6 years ago | (#21547767)

if Microsoft included support for running OSX binaries, people would be crying "Anti-competition!" faster than it would take to load up Notepad.
Why would anyone cry that? If Microsoft started doing that folks would mostly be too busy being shocked, because it would primarily benefit Apple: Developers could write software natively for OSX using Objective C, Cocoa, and (otherwise) Apple's native toolkit, and be able to still target Microsoft's audience, rather than writing only for the lone larger-audience proprietary platform and leaving Apple's userbase unable to run their software.

After all, it's not the general consensus that Microsoft's platform is hurting for good software. (I'm pretty unhappy with software availability on Windows, but I'm not exactly your general audience -- and I recognize that; even then, it's not OSX-specific software that I miss when working on win32, but nifty, Freely licensed POSIX-centric toolage like pexpect).

OS /2 was able to run windows 3.1 apps and look wh (0)

Joe The Dragon (967727) | more than 6 years ago | (#21547225)

OS /2 was able to run windows 3.1 apps and look where that got them and now os /2 is just about dead and you want to know way.

Developers just made windows apps and very few os /2 apps.

M$ pushed out updates and new API's that did not fully work in os /2 EX win32s updates like ver 1.30c.

If apple added win 32 M$ may push win 64 even harder push out small DX , .NET and other API updates just to brake it on os-x.

Apple will lose many developers to windows and there lack of a mid-range desk, the much wider range of hardware support and drivers on windows systems, and the all of the people who custom build there systems will make spending time on OS X apps a bad idea.

Apple lack of good gameing hardware and is likely pushing developers to make mac games that are windows based run under a winex warper in osx.

Well I guess It is really time to down grade (0, Flamebait)

BeeazleBub (535448) | more than 6 years ago | (#21547271)

Well with all the issues in Leapard (probably explained here by the inclusion of any thing windows), this is really news to make me dump the upgrade.

Who is the stupid bone head who would ever include direct windows compatibility code in OSX. There is absolutely no reason on the planet to ever include any compatibility for Windows in OSX. Preaching to the choir but the security sucks, there are more bugs than words in Websters, and over all its a pain to use.

Stupid, Stupid, Stupid..........

No wonder Leopard is crashing more! (0)

Anonymous Coward | more than 6 years ago | (#21547279)

It is now no wonder that Leopard is crashing more. They're trying to make it more Windows-like!

No (0, Redundant)

acvh (120205) | more than 6 years ago | (#21547333)

There is no reason for Apple to want to be able to run Windows executables natively. As others have pointed out, malware alone would be enough reason to say no.

More likely this is related to EFI. Less likely this is something that a developer was playing around with and forgot to delete from his code before checking it in.

Malware's not much of an issue (2, Insightful)

Myria (562655) | more than 6 years ago | (#21547499)

The Mac equivalent of Win32's WriteProcessMemory requires your program to be setgid procmod, so essentially you'd need Administrator access. This probably makes Mac malware considerably more difficult to make than on other platforms. Even Linux lets programs ptrace each other on all by the strictest of SELinux modes. Also, on Linux, a lot more machines have GDB installed, so malware could pipe to it when SELinux does interfere. Few Mac users have GDB installed.

It's for self-extracting zips (0)

Nermal6693 (622898) | more than 6 years ago | (#21547511)

You can now double-click self-extracting zips and they'll unzip automatically, instead of having to manually open them with BOMArchiveHelper or StuffIt Expander.

Unlikely (3, Informative)

makomk (752139) | more than 6 years ago | (#21547673)

This seems unlikely. Self-extracting zips are basically a standard zip file with an extractor .exe stuck on the front. Since the zip header is at the end of the file, there shouldn't be any need to parse the PE format (in fact, I don't think it'd help).

PE Loading on x86 is easy,,, (4, Interesting)

Jeff_at_RAD (121656) | more than 6 years ago | (#21547747)

Our game middleware products load PE format binaries on GNU/Linux and MacOS. It's like 200 lines of code to load and fix up a DLL - not difficult at all.

The two wins are that we have one binary on all x86 platforms (which usually means testing on one platform is sufficient) and that the MS compiler generates faster binaries. The downside is that when you *do* have to debug on the non-native platforms, you must resort to printf-style debugging.

You also have to replace the default MS crt, because they make a lot of Win32 calls that you don't want to have to emulate. We just have a tiny OS layer for memory, file IO, threading, audio, and video that is native (about 30 functions).
Load More Comments
Slashdot Login

Need an Account?

Forgot your password?

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>