Envying
Apr 28 2008, 04:40 AM
Kernel is the core of an OS, Mach_kernel is a universal binary file using ppc & i386(not x86 64) instructions... So can I say Leopard is not a real 64bit OS!
Any discussion related are welcome!
vaporATX
Apr 28 2008, 04:59 AM
If it's 32 bit why can it address over 4 gigs of ram?
kadmiff
Apr 28 2008, 08:44 AM
As far As I know Mac os leopard is not Fully 64 bit....
But the 4 gig issue is not related to 32 bit or 64 bit... well from what I've read...
If you want to go higher than 64 gig you will need an 64 bit os...
Oh and since service pack1, vista 32bit has no problems with 4 gig or higher..
and thats not with any memory holes.... ETC!!!
lord_muad_dib
Apr 28 2008, 09:05 AM
i love when people post teachie threads with random statements.. ewwww...
the kernel itself is an hybrid, 64bit core is loaded only when it can be done.
and this kind of structure, makes possible to load kernel threads in 32/64 bit simultaneusly(that means it can load 32bit drivers also), not just like windows x64 that can load 32bit stuff only in userland
Enrico1985
Apr 28 2008, 09:14 AM
QUOTE(vaporATX @ Apr 28 2008, 06:59 AM)

If it's 32 bit why can it address over 4 gigs of ram?
you can do that using PAE (which is supported on Vista and Leopard)
however, Leopard is 64bit (dummy's proof: the -legacy bootloader flag)
Superhai
Apr 28 2008, 09:34 AM
QUOTE(envying @ Apr 28 2008, 06:40 AM)

Kernel is the core of an OS, Mach_kernel is a universal binary file using ppc & i386(not x86 64) instructions... So can I say Leopard is not a real 64bit OS!
If you can't disassemble the kernel or read the kernel source code, so you should not talk about things you don't know. Anyway it is true that the stock kernel is marked as a fat binary with only 32bit versions, but it does include code to load 64bit software and to put itself in 64 bit mode.
Gujal
Apr 28 2008, 11:51 AM
The Kernel is a true 32/64bit hybrid. This is excellent as the drivers from panther/jaguar days still work.Just run the included Chess program and fire up Activity Monitor and look for Chess. It will show up as Intel 64 bit if you have a 64 bit capable processor.
Envying
Apr 28 2008, 02:31 PM
I found this to share with you guys.
http://events.ccc.de/congress/2007/Fahrpla..._osx_kernel.pdfQUOTE
Intel specifics
While i386 support in XNU has existed since the mid-90s, and has been a shipping feature of OpenStep, the i386 part had not been used in Mac OS X until the advent of Intel machines in 2005/2006. And with the introduction of the 64 bit Mac Pro in 2006, x86_64 (AMD64, Intel64, EM64T, x64, ...) support has been added to XNU - but XNU is not a 64 bit kernel, though. XNU supports 64 bit user mode applications, but it is 32 bit itself. Since porting a 32 bit kernel to 64 bit is a big task, it could not be donein just half a year between the introduction of the first Intel machines in January of 2006 (until then, Apple developers had worked on finalizing the 32 bit i386 version) and the introduction of the Mac Pro in August.
There is just a single kernel image for 32 and 64 bit Intel: It is loaded as a 32 bit process in 32 bit protected mode on both kinds of machines, and if 64 bit support is detected, the kernel switches into long mode compatibility mode - a mode that supports running 32 bit code, but also allows easy switching to 64 bit code. So the whole kernel code is still unmodified 32 bit code, but tiny stubs that deal with copying between user address spaces (which can be 64 bit), and the syscall and trap handlers are 64 bit code. Next to being an easy port, this has the extra advantages that the 64 bit capable kernel can still easily support 32 bit KEXTs, and conserves memory by being able to use 32 bit pointers throughout a large part of kernel code. On the flip side, the kernel cannot use the extended x86_64 register set and is restricted to a 32 bit address space.
But while all other common 32 bit operating systems like Linux, Windows and the BSDs split the address space into 2 GB for user and 2 GB for kernel (2/2) or 3 GB for user and 1 GB for kernel (3/1), the i386/x86_64 version of XNU uses a 4/4 split: While the kernel is running, the user's data is not mapped into its address space, and while user code is running, the kernel is not mapped. So user and kernel can each have 4 GB of address space with the disadvantage of being less efficient in copying of data between user and kernel. But this way, kernel mode can map more devices into its address space (like video cards with a lot of memory), and manage more RAM, thus pushing out the limit when a true 64 bit kernel is required.
vaporATX
Apr 28 2008, 02:48 PM
Shouldn't this whole thread be moved to the debates forum?
Envying
Apr 28 2008, 03:10 PM
QUOTE(vaporATX @ Apr 28 2008, 08:48 AM)

Shouldn't this whole thread be moved to the debates forum?
I have no problem with that
vaporATX
Apr 28 2008, 03:15 PM
Only because you already won.
Envying
Apr 28 2008, 03:21 PM
I don't want to approve that I am right, I just wanna know exactly what's going on. Appreciations to all replies!
Envying
Apr 28 2008, 08:06 PM
Found this from i386_init.c as well
QUOTE
if (cpuid_extfeatures() & CPUID_EXTFEATURE_EM64T) {
kprintf("EM64T supported");
if (PE_parse_boot_arg("-legacy", &legacy_mode)) {
kprintf(" but legacy mode forced\n");
} else {
IA32e = TRUE;
kprintf(" and will be enabled\n");
}
}
Cinner
Apr 29 2008, 09:53 AM
QUOTE(kadmiff @ Apr 28 2008, 10:44 AM)

Oh and since service pack1, vista 32bit has no problems with 4 gig or higher..
Since SP1, 32bit Vista can SEE you have 4 gigs, but not actually make use of it, as far as I know.
lord_muad_dib
Apr 29 2008, 10:38 AM
envying, i don't see anything that says that's it's not 64bit, really
what you posted simply enforces my statement, 64bit is threated as an extension, and it's enabled as soon as it's detected at boot, and the kernel runs everything @64bit.
this kind of approach disallow the addressing of the entire memory in a single space page, but you can open as many spaces as you like.
still, it doesn't mean there is a some kind of emulation whatsoever.
it is 64bit
vaporATX
Apr 29 2008, 12:06 PM
I did install Vista 64 on my MBP and it is a slight bit snappier than Leo. Of course any slight speed benefit Vista has is widely offset by its horrendously clunky (and ugly) interface and the awful programs devs seem to write for Windows.
Envying
Apr 29 2008, 01:47 PM
QUOTE(lord_muad_dib @ Apr 29 2008, 04:38 AM)

envying, i don't see anything that says that's it's not 64bit, really
what you posted simply enforces my statement, 64bit is threated as an extension, and it's enabled as soon as it's detected at boot, and the kernel runs everything @64bit.
this kind of approach disallow the addressing of the entire memory in a single space page, but you can open as many spaces as you like.
still, it doesn't mean there is a some kind of emulation whatsoever.
it is 64bit
Hey, Load
Check these two links out:
http://developer.apple.com/documentation/D...an1/lipo.1.htmlhttp://developer.apple.com/documentation/D.../doc/man/3/archMy quote at #8 states very clearly.
Kernel is based on i386 instruction set not x86_64. But in userland, apple is using some other technology to use some 64bit resources.
So to my understanding, leopard currently is a hybrid system with 32bit & 64bit mixtures. Leopard is not a real 64bit system. (from bottom to top)
Kiko
Apr 29 2008, 02:00 PM
the kernel still run in 32bit lord_muad_dib. Apple are bunch of dumbasses when it comes to 64-bit.
DJLunacy
May 31 2008, 05:59 PM
QUOTE(kadmiff @ Apr 28 2008, 08:44 AM)

As far As I know Mac os leopard is not Fully 64 bit....
But the 4 gig issue is not related to 32 bit or 64 bit... well from what I've read...
If you want to go higher than 64 gig you will need an 64 bit os...
Oh and since service pack1, vista 32bit has no problems with 4 gig or higher..
and thats not with any memory holes.... ETC!!!
Depends on what your definition of problems is.
They added a "fix" to the OS in SP1 to have it report 4GB if you have 4GB instead of what you can actually address typically between 3.5 - 3.0GB depending on how many PCI cards and other devices you machine has.
They did this to mitigate the amount of calls they were getting asking what happened to the RAM.
This doesn't really fix anything nor does it give you any performance boost.
Seraphic Sorcerer
Aug 10 2008, 02:38 PM
Actually the problem lies with the fact that while Cocoa's API is Native to 64 Bit, Carbon support is not, and since The original incarnation of OS X was indeed 32 bit only, the changes to 64 bit have been subtle, the kernel itself can run 64 bit NATIVE, however if you want to break every application support (Read Adobe/MS Office, anything written with Carbon APIs) then you will need to run it in 32 bit mode. The whole reason x64 exist at the moment is because it is an EXTENSION of X86 that is why it is X86_64, PowerPC at the time it was implemented were 64 bit processors, However, once again, You can't go full 64, without breaking application support. Leopard is the Last Operating system to receive "Carbon" support. 10.6 will force everyone to move to 64 Bit Carbon. you also have to remember that in order to run a true x64 mode, everything must be Architected that way, and that is exactly why no one has gone 100% 64 bit, Why do you think the Itanium failed? There's a bunch of info on ARS Technica, if you're interested in actually going total Geek.
Sevan
Aug 11 2008, 03:36 AM
It isn't true 64-bit, but it can utilize 64-bit capabilities in your Core 2 Duo processor.
bofors
Aug 11 2008, 11:26 PM
QUOTE(Seraphic Sorcerer @ Aug 10 2008, 10:38 AM)

Leopard is the Last Operating system to receive "Carbon" support. 10.6 will force everyone to move to 64 Bit Carbon.
What?
From my limited research on this subject, it appears that Apple is forcing Carbon programmers to switch to Cocoa for 64 Bit support.
Otherwise, Carbon will be supported in 10.6:
http://www.roughlydrafted.com/2008/06/24/m...rd-5-no-carbon/
Meowy
Aug 12 2008, 12:53 AM
QUOTE(kadmiff @ Apr 28 2008, 04:44 AM)

As far As I know Mac os leopard is not Fully 64 bit....
But the 4 gig issue is not related to 32 bit or 64 bit... well from what I've read...
If you want to go higher than 64 gig you will need an 64 bit os...
Oh and since service pack1, vista 32bit has no problems with 4 gig or higher..
and thats not with any memory holes.... ETC!!!
No, 32-bit Windows can't use more than about 3.5gb of RAM. What it shows there is the amount you have installed, not how much you can use.
Daksfamus
Aug 13 2008, 03:43 PM
leopard is 32bit, when snow leopard comes out, that's 64bit. 32bit os's can not address over 8gb's. 64bit os's will address up to 32gbs.
Colonel
Aug 13 2008, 06:42 PM
QUOTE(Daksfamus @ Aug 13 2008, 11:43 AM)

leopard is 32bit, when snow leopard comes out, that's 64bit. 32bit os's can not address over 8gb's. 64bit os's will address up to 32gbs.
Wow, somebody's been chugging the noobsauce!
32-bit OSes can address up to 4GB of ram, whereas 64-bit OSes can handle up to 16TB of ram.
bofors
Aug 13 2008, 07:02 PM
QUOTE(Daksfamus @ Aug 13 2008, 11:43 AM)

leopard is 32bit, when snow leopard comes out, that's 64bit. 32bit os's can not address over 8gb's. 64bit os's will address up to 32gbs.
Here is what Apple says about Leopard being a 64-Bit OS:
64-Bit. Advanced precision in one OS.
Leopard delivers 64-bit power in one universal operating system. Now the Cocoa application frameworks, as well as graphics, scripting, and the UNIX foundations of the Mac, are all 64-bit. And since you get full performance and compatibility for your 32-bit applications and drivers, you don’t need to update everything on your system just to run a single 64-bit application.
Bridge the generation gap.
Since the entire operating system is 64-bit ready, you can take full advantage of the Xeon processors in the Mac Pro and Xserve. You get more processing power at up to 3.0GHz, without limiting your programs to command-line applications, servers, and computation engines.
Driver compatibility.
Because of its universal nature, with Leopard you don’t need a new set of drivers — or devices. New 64-bit applications work just fine with your existing printers, storage devices, and PCI cards. Even better, if you upgrade to new 64-bit-capable drivers, your 32-bit applications will also benefit from the increased throughput.
64-bit frameworks.
In addition to the POSIX and math libraries supported in Tiger, Leopard enables developers to build complete 64-bit applications using the Cocoa, Quartz, OpenGL, and X11 GUI frameworks. You can even use 64-bit Java on capable Intel processors. And the 64-bit and 32-bit versions of the libraries are built from exactly the same code base, to ensure a consistent experience for both developers and users.
64-Bit for Developers
Xcode 3.0 gives you all the tools you need to build true 64-bit applications, including:
* 64-bit addressing of up to 16 exabytes of virtual memory and 4 terabytes of physical memory
* Full 64-bit arithmetic
* 64-bit development tools
* 64-bit performance monitoring tools
* Seamless deployment
* LP64 data model
* Common source base support
http://www.apple.com/macosx/technology/64bit.htmlHere is what Apple is saying about 64-Bit improvements in Snow Leopard:
64-bit
To accommodate the enormous amounts of memory being added to advanced hardware, Snow Leopard extends the 64-bit technology in Mac OS X to support breakthrough amounts of RAM — up to a theoretical 16TB, or 500 times more than what is possible today. More RAM makes applications run faster, because more of their data can be kept in the very fast physical RAM instead of on the much slower hard disk.http://www.apple.com/macosx/snowleopard/This appears to mean the following:
Mac OS X 10.5 moved a lot of the OS to 64-bit, and Snow Leopard finishes this. By having a 64-bit kernel, the OS can support up to 16 terabytes of RAM, larger numbers of running processes, and so on. Along with ZFS, moving the last parts of the OS to 64-bit helps future-proof Mac OS X and allow for (hopefully) bigger and better hardware to put it to work.http://www.macworld.com/article/134042/200...pardserver.htmlMy 64-Bit question is:
Will switching from running 2 GB of RAM to 4 GB or 8 GB result in a significant OS X performance increase in Leopard or Snow Leopard? I have previously run with 3 GB and 4 GB of RAM in Tiger and not seen any significant improvement in general OS X performance before. Note that I am not concerned about running applications that have a need for more than 1 GB of RAM.
ColdStart
Aug 13 2008, 11:37 PM
By looking at a lot of the system processes and the types of binaries they contain as a fat file tells me that the majority of Leopard is not 64-bit.
One of the upsides of Snow Leopard is that the majority of the system processes, core services, and default applications are truly compiled as 64-bit.
It certainly makes me happy to know that more processes will be able to use my 8 GB of 1066MHz DDR2 RAM (had to get them, the deal on NewEgg was just too awesome.)
Kind of makes me wish that there was a site with a compiled list of 64-bit OS X applications.
This really made me sad when I read it:
http://www.appleinsider.com/articles/08/04..._till_v5_0.html
new1phone
Aug 14 2008, 05:10 AM
Bottom line is that 32 bit OS can't (won't) use more than 4GB memory ..
XP/Vista 32bit won't .. so for what matters it's a 64 bits OS .. some people will be puritans and won't touch the ale .. but sam adams did :-) and we are thankful to him.
it's not the issue ..
bonestonne
Aug 22 2008, 12:35 AM
so far (before snow leopard) OS X has been a HYBRID KERNEL. that means it has parts of both and can access more RAM and that's also why a Mac Pro may say that its OS is a 64 bit version, even if it's just 10.4.10. once Snow Leopard hits, there will be a fine line between the hybrid kernel and a true 64 bit kernel.
vbetts
Aug 24 2008, 06:44 PM
But correct me if I'm wrong. Snow leopard will support PPC as well, which wouldn't make it a true 64-bit OS?
netkas
Aug 25 2008, 12:24 PM
what a deal of this topic ?
32-bit leopard kernel has 32 and 64 bit commpage, 32 and 64 bit idt, and etc.
thx to PAE , 32-bit kernel allows 64-bit processes to use more than 4gb of ram.
and now, snow leopard kernel is macho fat file with next archs - x86/x86_64/ppc (no ppc64 yeah)
64-bit snowlepers kernel works same as 32-bit, only difference - kernel itself can use more than 4gb (will we ever need that ?) and there is no 64-bit video/audio/wifi drivers
both kernels works same for 32/64-bit processes.
32-bit processes does not have windows like problems, like kernel/application memory split, so 32-bit apps can use up to 4gb of memory (no 2gb limit).
bofors
Aug 25 2008, 08:49 PM
QUOTE(netkas @ Aug 25 2008, 08:24 AM)

64-bit snowlepers kernel works same as 32-bit, only difference - kernel itself can use more than 4gb (will we ever need that ?)
This again, is one of my questions about Snow Leopard.
Is there going to be a good reason to have more than 2 GB of RAM for general use with Snow Leopard?
Can Apple increase general OS X performance by using significantly more RAM by taking advantage of 64-bit extensions?
SemjaZa
Aug 26 2008, 08:13 AM
So when are we going to notice this 64bit business? Ive never used more than 4gb of ram with one application addressing it all... are there sum magic instructions that are 64bit that willl significantly better the whole experience of using osx? or is this impressing us with bits and bytes?
I really doubt this will make a difference except for those with enormous ammounts of memory.
Synaesthesia
Aug 26 2008, 02:03 PM
@ Bofors, if you are not interested in apps that use more than 1gb RAM, like you say, you won't notice much difference going above 2gb for general usage: it's pretty much the sweet spot.
However if you use intensive programs, especially 64-bit applications with large datasets (eg.huge photos, or video), you will see a big difference.
CLiDE FTW!!1
Aug 29 2008, 04:21 PM
QUOTE(vbetts @ Aug 24 2008, 02:44 PM)

But correct me if I'm wrong. Snow leopard will support PPC as well, which wouldn't make it a true 64-bit OS?
ding ding ding
?
bofors
Sep 9 2008, 05:05 PM
AppleInsider has post a four part series on Snow Leopard and the 64-bit queston:
http://www.appleinsider.com/topics/Road_to_Snow_Leopard.html
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please
click here.