1. Field of the Invention
The present invention relates to personal computer systems and more particularly to a personal computer which includes a flash memory having a basic input output system (BIOS) stored therein which can be accessed locally or remotely over a network while the system is running a protected mode operating system.
2. Description of Related Art
Personal computer systems are well known in the art. Personal computer systems have attained widespread use for providing computer power to many segments of today's modern society. Personal computers can typically be defined as a desktop, floor standing, or portable microcomputer that is comprised of a system unit having a single central processing unit (CPU) and associated volatile and non-volatile memory, including random access memory (RAM) and Basic Input/Output System (BIOS), Read Only Memory (ROM), a system monitor, a keyboard, one or more flexible diskette drives, a fixed disk storage drive (also known as a "hard drive"), and a so-called "mouse" pointing device. One of the distinguishing characteristics of these systems is the use of a motherboard or system planar to electrically connect these components together. These systems are designed primarily to give independent computing power to a single user. Examples of such personal computer systems are IBM's PC 300 series and Intellistation.
Since the technology is rapidly changing and consumers are driving the demand for new hardware and input/output (IO) devices to be added to the computer systems, modification to the BIOS has become a significant problem in the pre-and post-development cycle of the personal computer system.
In the past BIOS was stored in non-volatile ROM or Erasable Programmable Read Only Memory (EPROM) modules. These memory modules must be removed and replaced with new modules in order to change or update the BIOS. More recent systems have begun to utilize Electrically Erasable Programmable Read Only Memory (EEPROM) so that the BIOS could be updated while the modules were still installed in the system. This is accomplished by special circuitry on the system board used in conjunction with a special application program. The application program sets the EEPROM and special circuitry in a mode that allows the EEPROM to be erased and then reprogrammed with the updated BIOS code while the module is still installed in the system. A further advancement was the development of flash memory. Flash memory is a lower cost type of EEPROM that is erased and programmed in a block mode rather than on a byte by byte basis.
However, a problem exists with in-system BIOS updates when a protected mode operating system such as Windows 95, Windows NT, or OS/2 is in control of the computer system. Under a protected mode operating system, application programs are prohibited from accessing critical system resources. This is done to improve system security and reliability. Under a real mode operating system such as IBM PC DOS only a single application program normally runs at any given time and it may have full unrestricted access to all of the system resources. The system BIOS is considered a critical system resource in a protected mode operating system and therefore applications are not permitted to modify BIOS while the protected mode operating system is running. Accordingly, if an application program tried to access (e.g., read or write) the BIOS, it would conflict with the operating system and cause a protection violation or in some cases even a system crash.
The cache memory in such a system must also be disabled and flushed to be able to get coherent access to the BIOS address space. This is not possible under a protected mode operating system. Applications do not have access to the cache control hardware. The current solution is to reboot the system in a real mode operating system (e.g., DOS) and then reprogram the BIOS. However, the disadvantage is that this prevents remotely accessing the BIOS over a network while the protected mode OS is running as someone must reboot the system to a real mode operating system before the access could begin.
It is therefore desirable to provide a personal computer system which includes flash memory BIOS that can be accessed locally or remotely without interfering with the running protected mode operating system.