milouz wrote:
Hi,
I thought that it was impossible to have a 32-bit kernel running 64-bit apps... until I read that some versions of Mac OS X kernel, despite being 32-bit, can effectively run 64-bit apps
Does anyone knows a little bit more about this ? I really can't figure out how it can be possible
Let's try and make this my last word on what has turned into a very silly discussion (but very thought provoking OP).
Can 64-bit programs run on a 32-bit processor? Yes, but it would take a deal of emulation and would be pretty slow.
Can 64-bit programs run on a 32-bit OS? As Apple demonstrates, yes they can.
Is 32-bit OS X truly a 32-bit program? It will run on a 32-bit processor so, by any reasonable definition, yes it is.
On a 32-bit processor can OS X run 64-bit programs? No.
Does the 32-bit OS X kernel contain any 64-bit instructions? By definition, to be able to run 64-bit programs an OS must be 64-bit aware. This will involve some 64-bit instructions that will be called when a 64-bit user program is run.
Does that make the kernel 64-bit? No. Those instructions are just the glue that allows interaction between the 64-bit programs and the 32-bit kernel. They are, if you like, the 64-bit personality. This no more makes the kernel 64-bit than the 32-bit personality of a 64-bit kernel makes it 32-bit. The kernel functions perfectly without them but, in that case, it wouldn't be able to run 64-bit programs.
Was the mythical 32-bit OS X kernel just a marketing ploy by Apple to downplay their OS? Let's not get too silly!