ONJava.com -- The Independent Source for Enterprise Java
oreilly.comSafari Books Online.Conferences.

advertisement

AddThis Social Bookmark Button
Article:
  Getting to the Source of Mac OS X
Subject:   OS X on Intel machine? Porting Possibilities
Date:   2002-01-03 08:45:49
From:   markstinson1
Obviously Porting to a entire different architecture can pose a big challenge. PowerPC & IA have quite different of operating on the lowest level.


However, a little historical reflection should reiterate it is entirely "doable" for Apple.


Way back around '90, there was a version of System 7 ported to Intel with the code name "Star Trek" - bolding going where no man has gone before". This was an important step because of Apple's hardware design. The Mac OS used a ROM chip soldered on the Mainboard. The downside is that it could never be upgraded. There's other Pros/Cons.


Shortly there after in the Mid '90s, Apple moved that ROM chip's data to a file in the System Folder. This allowed for updated ROM files. This file used to be very hardware specific, now it's just Apple Specific. Mac OS X doesn't require the ROM File, per se. Classic emulation does require it.


But what about the different binaries required for PowerPC and Intel Architecture? Enter NeXTStep. Mac OS X is the modern version of NeXTStep. It is a BSD Unix variant that runs on a Mach Microkernel. [ NeXT was formed by Steve Jobs after Scully fired him from Apple back in the Late 80's. So it should be noted, that Mac OS X / NeXTStep has a longer history than Windows NT, even excluding its Unix history. ] Left


The Microkernel, acts just like Windows NT's "HAL" Hardware Abstraction Layer . NeXTStep originally ran on 68K Motorola based hardware. However, NeXT started encountering financial issues surrounding their hardware division. Due to their strategic planning of the operating system, NeXT with able to port their operating system to Windows NT. Now instead of using Mach, their micro kernel was Windows NT. NeXTStep literally took over the NT operating system. However, programs written had to be compiled to support one platform or both. Due to its Unix roots, NeXT applications bundled its resources into directory structures and called the enter structure a ".app" . This allowed multiple executable binaries for different platforms to share the same application resources. The applications (really directories) could be relocated and ran from anywhere, just like on the Macintosh (a feature Windows could sorely use).


If you open the contents of the current Mac OS X application, you will see it has the same structure as the old next applications. In fact, the native Mac OS X development tools are updated versions of the NeXTStep development tools. Even the language, Objective C, is NeXTStep's native programming language.


If Mac OS X was ever ported to Intel platform, having anything Classic (pre-OS 9) or Carbon (OS 9/OS X) is probably possible using an emulation later. If it is to be strictly OS X or OS X server, it's probably doable right now. But as in the previous posting this would significantly impact Apple's hardware revenue. It would also impact the other Unix-like communities of Linux and BSD being that Mac OS X is the first commercial grade Unix-like Desktop OS. As to the impact of Microsoft, your guess is as good as mine - hitting a 900 lbs gorilla tends to make it mad.


1 to 1 of 1
  1. OS X on Intel machine? Porting Possibilities
    2003-04-14 08:13:27  anonymous2 [View]

1 to 1 of 1