A Portable Operating System
Some developers weren't surprised that Mac OS X was operating on the x86 platform for two reasons. First, Mac OS X began life as NeXTSTEP in 1989, complete with an extensive suite of object-oriented classes. These classes ultimately became Cocoa and the other intermediate-level frameworks in Mac OS X. In 1993, NeXTSTEP 3.1 was ported to several platforms (Intel, Sparc, HP), where the code achieved a large measure of hardware independence. It has also been extensively field tested, so its classes are known to be stable.
Second, as Figure 2 shows, Mac OS X is a layered OS. The lowest layer, Darwin, consists of an open-source version of the Mach 3.0 kernel, device drivers, and a bevy of Berkeley System Distribution (BSD) interfaces, libraries, and tools. An Intel-based version of Darwin has been maintained over the years, so the lowest layer of Mac OS X that sits next to the hardware was Intel-ready should the need arise. The higher layers of the OS consist of frameworks written in Objective-C and other high-level languages, so porting them was just a matter of recompiling the frameworks and tuning the code.