Brian <lxy at cloudnet.com> wrote: > > What about applications? I'm assuming that for the most part "porting" > a linux app to the architecture is a matter of getting a C compiler that > compiles 64 bit code (we assume this is done, as the kernel runs on 64 > bits) and then just running 'make' to recompile the existing code into a > 64 bit app. Now granted, it won't be OPTIMIZED until some later date > but at least the app will run on the new platform. Is this correct? I think that's basically true, but there are a lot of apps out there that aren't 64-bit clean. If applications are properly written, there isn't a problem, but I don't know how many developers have been taught how to do that (I certainly wasn't). Some architectures allow you to run 32-bit code (Linux on UltraSPARC, for instance), though that might get used as a crutch sometimes. > On the Windows side, it seems that doing the same sort of thing is just > too much work and they need to start over every time they move to a new > architecture. At least this has been in the past. Am I correct in > assuming that because linux is designed to be portable that its kernel, > compiler (already done), and apps will port over quickly, whereas > Micro$oft will see many code re-writes to get their stuff to run? Maybe. Windows NT also ran on several different architectures until Win2k came around, one of them being the 64-bit Alpha. I've heard that a very large amount of code is surrounded with #ifdef's to differentiate between 32-bit and 64-bit code, but that might just be a rumor. I don't know how long Microsoft has been working on Windows XP > Or will their current apps speak 32 bit to the kernel and the kernel > speaks 64 to the chip? I'm just thinking about the edge linux will have > come Jan when linux has the whole suite of apps, old and new, running on > the IA-64 and Micro$oft is putting out it's late and still buggy > versions of Whi$tler/XP/whatever. I don't know.. I'm not sure if the Itanium can execute 32-bit code or not. Microsoft probably should have an emulation layer for 32-bit applications. If you want to go back to 16-bit, port DOSEmu or something ;-) Like Dave said, WinNT (and OS/2) basically had an emulation layer for 16-bit apps -- if I remember correctly, you could even run 16/32-bit DOS apps on non-x86 machines (I know that was true for the (unreleased?) PowerPC version of OS/2). -- _ _ _ _ _ ___ _ _ _ ___ _ _ __ What the fuck is a / \/ \(_)| ' // ._\ / - \(_)/ ./| ' /(__ hefalump? \_||_/|_||_|_\\___/ \_-_/|_|\__\|_|_\ __) [ Mike Hicks | http://umn.edu/~hick0088/ | mailto:hick0088 at tc.umn.edu ]