The floating point unit (FPU) also became a standard
hardware feature starting with the Macintosh II. FPUs are good for intensive
calculations like those involved in drawing complex graphics. But the standard
Macintosh graphics system continued to be based on screen coordinates and integer
arithmetic; only a few specialized applications could take advantage of the FPU's
capabilities. Because so few people were benefitting from the FPU, Apple's
hardware engineers eventually began making it optional in some CPUs. Soon after introducing the Macintosh II, Apple introduced
the SuperDrive" disk drive across its entire product line. This drive could read
floppy disks formatted for either MS-DOS or Macintosh system software. But it
wasn't until 1993 that the icon for an MS-DOS floppy would actually appear on the
Macintosh desktop when you inserted the disk.
These kinds of hardware support problems aren't the fault of Apple's system
software engineers, who have learned to perform miracles with the legacies they
must live with. The problems arise because the original Macintosh system software
didn't anticipate the need for supporting new hardware capabilities. For example,
it didn't support color, multiple monitors of varying size, hard disks, bus
slots, or advanced networks. Despite these limitations, Apple engineers came up
with inventive solutions that support all of these features today. But this
support comes at a cost in terms of both the engineering effort and the
complexity of the solutions required.
The Macintosh MMU and FPU examples have parallels in the Windows market. All 386
and faster processors have a built-in MMU. However, with the exception of Windows
NT users (and Windows 95 users, when it becomes available), most Windows users
still have no virtual memory capability. Similarly, millions of existing
Intel-based systems have at least a slot for an FPU, but the Windows graphics
environment is still based on screen coordinates and integer arithmetic and can't
take advantage of FPU capabilities.
Many patented hardware technologies have faced a similar fate. One example is the Micro Channel© architecture (MCA) bus that IBM
invented. It provided autoconfiguration, slot independence, high performance, and
other capabilities that represented a significant improvement compared to the
standard architecture. But IBM couldn't persuade enough developers to build
add-on cards that supported the bus. It wasn't part of the standard PC clone
hardware manufactured by dozens of companies around the world, so it didn't sell
in as large volumes, and it's very difficult to write drivers for MS-DOS, so many
card developers didn't bother.
Many factors affect the success of any commercial product, and system software
can't take all the blame for the fact that sophisticated hardware doesn't get
used. But the tendency is disturbing. People who invent something new and better
shouldn't be penalized for their efforts. Companies that lavish expertise and
innovative technology on hardware today face a commodity market for personal
computers, especially in the IBM-compatible world, in which it's very difficult
to build anything besides another clone that adheres to the standard. If only
companies that have thin margins and very low R&D budgets can make money,
everyone in the industry ends up losing. Innovation gets punished rather than
rewarded, and market growth slows. The benefits to the user of cutthroat pricing
are offset by slowing innovation and the fact that many clone system suppliers
stay in business for only a few years. Macintosh examples
Some examples from the history of the Macintosh computer,
itself an innovative hardware platform, illustrate this problem. The Macintosh
II, which Apple introduced in 1987, was the first Macintosh computer that
included a memory management unit (MMU). An MMU allows a computer to use virtual
memory, which involves treating hard disk memory as if it were additional RAM.
But it was several years before Macintosh system software used this capability.
Millions of MMU chips went unused until System 7 was introduced in 1991. Even
then, support for virtual memory was only partial, because System 7 didn't
provide protected address spaces, shared memory, memory-mapped files, locking of
pages, or other features that take full advantage of the MMU. PC examples
IBM and other OEMs in the Intel-based PC market face the same kinds of problems.
Millions of PCs capable of supporting 32-bit addressing were designed, sold,
bought, used, and thrown away without ever running a single 32-bit application,
because system software never took advantage of it.
[Contents]
[Previous]
[Next]