beautypg.com

What has changed, What has changed 5 – Apple iMac User Manual

Page 57

background image

C H A P T E R 5

Software

Why Make This Change?

57

• 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 OS, 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 ToolBox ROM, but with
much of the old hardware-specific code moved into the Boot ROM. As before,
the ToolBox 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 the Mac OS Toolbox software. The NewWorld approach sidesteps
this requirement by copying an image of the Mac OS ToolBox into RAM before
the Mac OS begins operation. The area of RAM that contains the ToolBox image
is excluded from the available memory space in RAM, and is marked as
read-only. Once the Mac OS begins operation, a ToolBox image in RAM and an
actual ToolBox ROM behave in the same way.

No new or different software interfaces are directly accessible from Mac OS.
During the boot process, software contained in the Mac OS ToolBox 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 reference material about Open Firmware,
see “Open Firmware” (page 11).

Most of the changes are completely transparent to Mac OS. Only the Startup
Disk control panel is affected: it includes added code to modify the Open
Firmware’s configuration variables in the NV-RAM.