ppc64 vs IA64 question[ANSWERED] inadvertant new topic

Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
Post Reply
User avatar
Brackets
Posts: 13
Joined: Sun Apr 29, 2007 12:22 pm

ppc64 vs IA64 question[ANSWERED] inadvertant new topic

Post by Brackets »

Ok, I want my OS to be x64 optimized and while that is simple enough, in theory, to do for standard PC's I've been wondering about Mac hardware. Many use dual core Intel processors now I believe instead of the ppc processor/architecture so my question is: Do I have to implement code for the ppc64 architecture? Or will the IA64 architecture suffice and then just add in code for Mac hardware?
Last edited by Brackets on Mon Jun 11, 2007 9:16 am, edited 1 time in total.
My OS is an honor roll student ;) Fenrir OS
I lay siege to your goods and cattle!
Image
User avatar
Brynet-Inc
Member
Member
Posts: 2426
Joined: Tue Oct 17, 2006 9:29 pm
Libera.chat IRC: brynet
Location: Canada
Contact:

Post by Brynet-Inc »

Are you referring to Intel 64(Formerly EM64T) or the Itanium architecture? because the latter differs significantly.

Intel Mac's use Core 2 Duo processors now, Which are not Itanium.. They are part of the "x86-64" family. (Intel 64 and AMD64)
Image
Twitter: @canadianbryan. Award by smcerm, I stole it. Original was larger.
User avatar
Brackets
Posts: 13
Joined: Sun Apr 29, 2007 12:22 pm

Post by Brackets »

**obsolete**After checking the wiki both of the first two links for motorola and IBM docs are obsolete and I was unable to find the docs at the new location, but looking at the Mac website, it seems like only Intel processors are used now (Dual core, I believe that means x64 :? ) so I don't know if the ppc manuals are needed. **/obsolete** Yes I am referring to the Intel 64 (dual core) architecture. So I'm assuming that means that the only different code that is required is regarding the other hardware and not the processor?
My OS is an honor roll student ;) Fenrir OS
I lay siege to your goods and cattle!
Image
User avatar
Brynet-Inc
Member
Member
Posts: 2426
Joined: Tue Oct 17, 2006 9:29 pm
Libera.chat IRC: brynet
Location: Canada
Contact:

Post by Brynet-Inc »

Well then Yes, Apple has dropped the PowerPC line of it's computers in favour of Intel 64 (x86-64) processors.

If you already have an x86-64 port, Adding support for Intel Mac's will simply require supporting it's hardware.

I'm pretty sure the Intel Mac's use EFI instead of the legacy PC BIOS services though..

http://en.wikipedia.org/wiki/Extensible ... _Interface

Someone else should be able to get into more specifics, I don't own a Mac.
Image
Twitter: @canadianbryan. Award by smcerm, I stole it. Original was larger.
User avatar
Colonel Kernel
Member
Member
Posts: 1437
Joined: Tue Oct 17, 2006 6:06 pm
Location: Vancouver, BC, Canada
Contact:

Post by Colonel Kernel »

I do own a Mac, but I do all my OS dev in Parallels. Some day in the distant future, when I figure out how to have my kernel booted by EFI, then maybe I'll try my OS on my own hardware... :P
Top three reasons why my OS project died:
  1. Too much overtime at work
  2. Got married
  3. My brain got stuck in an infinite loop while trying to design the memory manager
Don't let this happen to you!
User avatar
Brackets
Posts: 13
Joined: Sun Apr 29, 2007 12:22 pm

Post by Brackets »

Thanks for that! I was recently reading an article (literally just 5 min ago http://www.pcadvisor.co.uk/news/index.cfm?newsid=8863) and it presented an interesting idea that is only mentioned once in the article, and that is the idea of closed hardware. The idea was that because Macs use specific hardware, and only that hardware (instead of the vast differences like windows hardware) the OS is more stable because it only has to contend with that hardware. So that raises a question for OS developers (one I'm trying to personally answer to myself right now, but I think I already know the answer): Is it easier to create a better OS designed for Mac computers, or computers that contain specific hardware? Many will argue, myself included that it probably would be better to give the user options and variety but this is a compelling argument. It seems to me that it would dramatically reduce the size and complexity of the OS if it only had to deal with something like 4 display drivers, 3 sound drivers etc. The main thing about that that I don't like and actually highly disagree with is that it shows favoritism. I see the whole point of opensource as being one that information is shared equally so how is it any better than proprietary if it is only designed to support certain hardware. Now I can be called a hypocrite since I just declared I want to be optimized for x86-64, but IMO it's different to provide exclusion to the newest advancement in 1 piece of hardware then exclusion to only a couple of brands and models.
My OS is an honor roll student ;) Fenrir OS
I lay siege to your goods and cattle!
Image
User avatar
Brendan
Member
Member
Posts: 8561
Joined: Sat Jan 15, 2005 12:00 am
Location: At his keyboard!
Contact:

Post by Brendan »

Hi,
Brackets wrote:The idea was that because Macs use specific hardware, and only that hardware (instead of the vast differences like windows hardware) the OS is more stable because it only has to contend with that hardware.
If I had 1 million randomly selected computers, how stable would different OSs be?

If you try to run OS X on a normal PC it won't boot, and therefore it's not stable on a wide range of 80x86 machines. If you try to run Windows on a PowerPC or Sparc then it won't be stable either. If you try to run Linux on a Intel/Mac, a normal 80x86, a PowerPC, or a Sparc, then it will (should) be stable. Therefore the most stable OS is the OS that supports the most hardware... ;)

Limiting the hardware that an OS is designed for reduces it's overall stability, but also reduces the amount of hardware users expect it to be stable on. For e.g. no-one expects OS X to run on Sparc, and therefore they only take into account how stable it is on Intel/Mac and come to the conclusion that it is stable in general. What they really mean is that it's only stable on Intel/Mac and NOT stable in general.
Brackets wrote:So that raises a question for OS developers (one I'm trying to personally answer to myself right now, but I think I already know the answer): Is it easier to create a better OS designed for Mac computers, or computers that contain specific hardware?
That depends - do you want to increase the stability on all computers, or increase the stability on a small percentage of computers while sacrificing stability on all others? :)

As OS developers we don't have much choice - we can only support the hardware we can test the OS on and have time to support. However, this doesn't mean we can't design the OS to support other hardware eventually, and it doesn't mean that there isn't other ways to improve stability - for e.g. you could use fault isolation (where a fault or bug in one part can't effect the reliability of other parts), and defensive programming principles.


Cheers,

Brendan
For all things; perfection is, and will always remain, impossible to achieve in practice. However; by striving for perfection we create things that are as perfect as practically possible. Let the pursuit of perfection be our guide.
User avatar
Colonel Kernel
Member
Member
Posts: 1437
Joined: Tue Oct 17, 2006 6:06 pm
Location: Vancouver, BC, Canada
Contact:

Post by Colonel Kernel »

Apple's choice to support Mac OS X only on Apple hardware is a business decision more than a technical one. They've already demonstrated that OS X can be ported to other architectures (PPC, Intel, and now with the iPhone, ARM). Nothing about OS X prevents it from dealing with different devices -- network cards, video cards, etc. They artificially limit the number of devices they support for three main reasons IMO:
  1. Apple makes most of its money selling hardware. Putting OS X on other hardware would cannibalize Apple's own sales of Mac hardware.
  2. The fewer hardware configurations that need to be supported, the cheaper it is to support them.
  3. The user experience for Apple customers doesn't stop with the UI of the OS -- it goes all the way to the form factor and functionality of the hardware itself. For example, one of the main reasons my Mom really likes her iMac is that it is integrated, has very few cords hanging out (this is important to some people), looks nice, and has all the stuff she needs built in and working out of the box (camera, mic, speakers).
So as an OS developer, I would argue that it's still best to architect your OS to be as portable as possible and as expandable as possible in terms of hardware support. Whether you choose later on to target only a fixed set of devices is then up to you.

If you're just doing it for fun of course, just do whatever you feel like. :P
Top three reasons why my OS project died:
  1. Too much overtime at work
  2. Got married
  3. My brain got stuck in an infinite loop while trying to design the memory manager
Don't let this happen to you!
Post Reply