Technical information
CHAPTER 5
System Software
76 The New Approach
The PowerBook G3 Series 1999 computer is different from previous PowerBook
computers in that it has no single, large ROM that contains many components
of the Mac OS software, along with the 68K emulator, hardware initialization,
and the nanokernel. Instead, a small ROM provides hardware initialization
functions and provides a mechanism to load the Mac OS ROM image into
RAM. The new software architecture that is centered around ROM-in-RAM and
its ramifications is called the NewWorld architecture.
The New Approach 5
Historically, the Macintosh ROM has been structured as one monolithic ROM,
known as the Mac OS ROM, that contains both low level and high level
software. That is, the ROM contains the hardware-specific code needed by the
computer at power-up time as well as higher level Mac OS software. Examples
of hardware-specific code are drivers, feature tables, diagnostics, and hardware
initialization code. Examples of higher level software are high-level managers,
QuickDraw, SCSI Manager, and so on.
As features have been added to the Mac OS software, some of the higher level
code expanded beyond the practical limits provided by ROMs, so the ROM has
been augmented and modified by system software such as the System file and
the hardware enabler. In this way the functionality of the ROM has been spread
out among the ROM, the enabler, and disk-based system software. This
intertwining of low-level and high-level code spread out from ROM to disk has
made it difficult and time consuming to release new computers.
One way to address this problem is to separate the system software into two
logically distinct pieces. One piece holds most of the hardware-specific
components needed to boot the computer, while the other contains boot-time
Mac OS routines and components that are common to many Macintosh models.
With this approach, much of the hardware-specific code is isolated in the boot
ROM, and the Mac OS and system software code can be made abstract and
generic. This approach has several benefits.
■ When hardware changes are needed, only the hardware-specific code in the
boot ROM has to be modified, greatly decreasing turnaround time for new
product releases and reducing testing time and expenses.