Technical information

CHAPTER 5
System Software
The New Approach 77
The high-level Mac OS and system software does not need to change often.
When making a new build as a result of changing hardware-dependent code,
there is high confidence that the high-level software has not been changed.
Not changing the higher level software as often simplifies things for many
groups inside Apple, including testing, system software, software
configuration management, developer support, and publications.
Third-party developers can also benefit from this.
What Has Changed 5
Hardware-specific code that performs the computer’s start-up activities resides
in firmware (ROM). That code fits into one ROM called the boot ROM. The boot
ROM includes the hardware specific code and tables needed to start up the
computer, to load an operating system, and to provide common hardware
access services.
All higher level software resides somewhere else. For now, think of it residing
in what has been historically known as the Mac OS ROM, but with much of the
old hardware-specific code moved into the boot ROM. As before, the Mac OS
ROM can still be augmented by enablers, the System file, and extensions.
Prior to the iMac, all Macintosh computers required a ROM component that
contained many components of the Mac OS software. The NewWorld approach
sidesteps this requirement by copying an image of the Mac OS ROM into RAM
before the Mac OS begins operation. The area of RAM that contains the Mac OS
ROM image is excluded from the available memory space in RAM and is
marked as read-only. Once the Mac OS begins operation, a Mac OS ROM image
in RAM and an actual Mac OS ROM behave in the same way.
No new or different software interfaces are directly accessible from the Mac OS.
During the boot process, software contained in the Mac OS ROM file
communicates with Open Firmware to collect information about the hardware,
using the Open Firmware Client Interface.
Note
Open Firmware is a central component of the NewWorld
architecture. For information on how to get reference
material about Open Firmware, see “Open Firmware”
(page 13).