Hardware Reference
In-Depth Information
Compaq and Phoenix Software (today known as Phoenix Technologies) were among the first to
develop a legal way around this problem, which enabled them to functionally duplicate (but not
exactly copy) software such as the BIOS. The BIOS is defined as the core set of control software that
drives the hardware devices in the system directly. These types of programs are normally called
device drivers, so in essence, the BIOS is a collection of all the core device drivers used to operate
and control the system hardware. The operating system (such as DOS or Windows) uses the drivers
in the BIOS to control and communicate with the various hardware and peripherals in the system.
See Chapter 5 , BIOS ,” p. 263 .
The method Compaq and Phoenix used to legally duplicate the IBM PC BIOS was an ingenious form
of reverse-engineering. They used two groups of software engineers, the second of which were
specially screened to consist only of people who had never before seen or studied the IBM BIOS
code. The first group studied the IBM BIOS and wrote a detailed description of what it did. The
second group read the description written by the first group and set out to write from scratch a new
BIOS that did everything the first group had described. The result was a new BIOS written from
scratch, and although the resulting code was not identical to IBM's, it had the same functionality.
This is called a “clean room” approach to reverse-engineering software, and if carefully conducted, it
can escape any legal attack. Because IBM's original PC BIOS had a limited and yet well-defined set
of functions and was only 8,096 bytes long, duplicating it through the clean-room approach was not
difficult. As the IBM BIOS evolved, keeping up with any changes IBM made was relatively easy.
Discounting the power-on self test (POST) and BIOS Setup (used for configuring the system) portion
of the BIOS, most motherboard BIOSs, even today, have only about 32KB to 128KB of active code,
and modern OSs ignore most of it anyway by loading code and drivers from disk. In essence, the
modern motherboard BIOS serves only to initialize the system and load the OS. Today, although some
PC manufacturers still write some of their own BIOS code, most source their BIOS from one of the
independent BIOS developers. Phoenix and American Megatrends (AMI) are the leading developers
of BIOS software for PC system and motherboard manufacturers. A third major producer of BIOS
software, Award Software, is owned by Phoenix Technologies, which continues to sell Award
BIOS-based products.
After the motherboard hardware and BIOS of the IBM PC were duplicated, all that was necessary to
produce a fully IBM-compatible system was MS-DOS. Reverse-engineering DOS, even with the
clean-room approach, seemed to be a daunting task at the time, because DOS is much larger than the
BIOS and consists of many more programs and functions. Also, the OS has evolved and changed more
often than the BIOS, which by comparison has remained relatively constant. This means that the only
way to get DOS on an IBM compatible back in the early 1980s was to license it. This is where
Microsoft came in. Because IBM (who hired Microsoft to write DOS in the first place) did not ensure
that its license agreement with Microsoft was exclusive, Microsoft was free to sell the same DOS it
designed for IBM to anybody else who wanted it. With a licensed copy of MS-DOS, the last piece
was in place and the floodgates were open for IBM-compatible systems to be produced whether IBM
liked it or not.
Note
MS-DOS was eventually cloned, the first of which was DR-DOS, released by Digital
Research (developers of CP/M) in 1988. By all rights, DR-DOS was more than just a clone; it
had many features not found in MS-DOS at the time, inspiring Microsoft to add similar features
Search WWH ::




Custom Search