Hacker News new | past | comments | ask | show | jobs | submit login

MS implemented NT, which only worked in Unicode. They had to add a compatibility layer to run Ansi apps.

Which is MS's separate OS for 64-bit?

OS APIs are distinct from kernel APIs. You're comparing a kernel (Linux) with a distribution (Windows).




Which is MS's separate OS for 64-bit?

I believe you'll find it to be Windows <insert version here> 64-bit Edition.

A quick googling suggests that Windows 7 retail copies have both 32-bit and 64-bit editions, but I'm guessing you still have to pick the right edition when you go to install it. And if you don't have a retail disc, then you probably only got one of the two architectures.

Compare this with Mac OS X, where there is no "32-bit edition" or "64-bit edition", there is just "Mac OS X". Everybody installs the same OS, and it transparently works for both 32-bit and 64-bit machines. The only time when you really have to care is if you're installing a 3rd-party kext (kernel extension), as 32-bit kexts won't work on a 64-bit kernel, but that's pretty rare and any kext that's still being maintained today will support both architectures.



That's a nice description of what's going on, but it really boils down to:

* Running 32-bit kernel on 32-bit hardware

* Running 32-bit kernel (mostly; enough that kexts are 32-bit) on 64-bit hardware

* Running 64-bit kernel on 64-bit hardware

Interestingly, for a while only the Xserve defaulted the kernel to 64-bit mode, whereas all consumer machines used the 32-bit kernel mode, though this could be toggled using a certain keyboard chord at startup (I think it was holding down 6 and 4). Eventually this shifted so the 64-bit kernel became the default, but only after giving kext authors enough warning so they could update their kexts.

In any case, as diverting as this is, it doesn't really matter to the consumer. There was only one version of OS X to install, and it ran in whatever mode was appropriate for the machine in question. The only reason consumers ever had to care what mode their kernel was running in was if they wanted to use a kext that did not have both 32-bit and 64-bit support, and by the time the kernel switched to 64-bit mode by default, this was pretty rare.


More precisely:

* Running 32-bit kernel in 32-bit legacy mode

* Running 32-bit kernel (mostly; enough that kexts are 32-bit) in 64-bit long mode

* Running 64-bit kernel in 64-bit long mode

I wrote this blog article because I often see these modes being confused.


> but I'm guessing you still have to pick the right edition when you go to install it. And if you don't have a retail disc, then you probably only got one of the two architectures.

Good guess. They are separate versions, and only retail includes both.


And, whats more, you can install Leopard on a 64 bit x86 machine, then dd the HD over to a ppc machine, and it will boot, as long as you use the right partition format.


>Everybody installs the same OS, and it transparently works for both 32-bit and 64-bit machines.

Or doesn't work. Didn't the recent releases drop support for 32-bit Macs?


I do believe that Mountain Lion dropped 32-bit kernel support. But Apple hasn't produced a 32-bit machine in years, and every new major version of the OS does tend to drop support for old hardware. The fact that the motivating factor here was dropping the 32-bit kernel is fairly irrelevant.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: