|
|
The fact that a given piece of hardware works under DOS or Windows is no guarantee that it works with the UnixWare 7 system.
A critical difference between UnixWare 7 systems and some DOS applications is the way they access hardware. For example, older DOS systems and some DOS applications read or write information to a device controller (disk, tape, or serial/parallel) by making a device-independent call to the BIOS (Basic Input Output System). The BIOS translates the device-independent call into a device-dependent set of instructions to transfer data to or from a particular device.
Except for very short periods of time during installation and during the boot process, UnixWare 7 systems do not address the BIOS directly; device drivers handle many of the functions for which DOS can use the BIOS.
Some PC manufacturers depend on something called ``BIOS compatibility.'' DOS functions can be, in a sense, device-independent, because some of the device-dependent functions of DOS have been separated into the BIOS. This means that manufacturers can make their non-standard devices work under DOS by modifying the ROM BIOS that acts as the interface between the hardware and DOS.
By writing code that reads and writes directly to the device, DOS can also use devices without going through the BIOS. This is similar to writing a device driver for a UnixWare 7 system. The ability to write directly to a device is one reason some hardware works with DOS, but not with UnixWare 7 systems. The hardware vendor can make DOS work with hardware that uses a non-standard BIOS by writing a DOS device driver that translates between DOS and the non-standard BIOS. This makes it BIOS-compatible for DOS, even though the BIOS is non-standard. DOS polls the system bus and the custom device driver to access the device. Because a UnixWare 7 system does not make use of the BIOS, it expects a piece of hardware to be at a specific ``Interrupt vectors'', ``DMA channel'', and ``I/O base address'' (with a few device-specific exceptions), and does not recognize the hardware if it is incorrectly configured. However, most modern drivers (except for ISA devices) now auto-configure, so the correct configuration parameters are usually found.