Jump to content
Welcome to InsanelyMac Forum

Register now to gain access to all of our features. Once registered and logged in, you will be able to contribute to this site by submitting your own content or replying to existing content. You'll be able to customize your profile, receive reputation points as a reward for submitting content, while also communicating with other members via your own private inbox, plus much more! This message will be removed once you have signed in.

  • Announcements

    • Allan

      Forum Rules   04/13/2018

      Hello folks! As some things are being fixed, we'll keep you updated. Per hour the Forum Rules don't have a dedicated "Tab", so here is the place that we have our Rules back. New Users Lounge > [READ] - InsanelyMac Forum Rules - The InsanelyMac Staff Team. 
Envying

Is leopard a real 64bit OS?

53 posts in this topic

Recommended Posts

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! :P

Share this post


Link to post
Share on other sites

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!!!

post-119725-1209372285_thumb.jpg

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites
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)

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

I found this to share with you guys.

 

http://events.ccc.de/congress/2007/Fahrpla..._osx_kernel.pdf

 

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.

Share this post


Link to post
Share on other sites

I don't want to approve that I am right, I just wanna know exactly what's going on. Appreciations to all replies!

Share this post


Link to post
Share on other sites

Found this from i386_init.c as well :)

 

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");

}

}

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites
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.html

http://developer.apple.com/documentation/D.../doc/man/3/arch

 

My 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)

Share this post


Link to post
Share on other sites

the kernel still run in 32bit lord_muad_dib. Apple are bunch of dumbasses when it comes to 64-bit.

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

It isn't true 64-bit, but it can utilize 64-bit capabilities in your Core 2 Duo processor.

Share this post


Link to post
Share on other sites
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/

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


  • Recently Browsing   0 members

    No registered users viewing this page.

×