One of the most common uses of
    Flash memory 
    is for the basic input/output system of your computer, commonly known 
    as the BIOS (pronounced "bye-ose"). On virtually every computer available, 
    the BIOS makes sure all the other chips, hard drives, ports and CPU function 
    together.
    Every desktop and
    laptop computer 
    in common use today contains a
    
    microprocessor as its central processing unit. The microprocessor is the
    hardware component. To get its work done, the microprocessor executes 
    a set of instructions known as software (see
    How 
    Microprocessors Work for details). You are probably very familiar with 
    two different types of software: 
    
      - The operating system - The
      operating 
      system provides a set of services for the applications running on your 
      computer, and it also provides the fundamental user interface for your 
      computer. Windows 98 and Linux are examples of operating systems. (See
      How 
      Operating Systems Work for lots of details.) 
- The applications - Applications are pieces of software that are 
      programmed to perform specific tasks. On your computer right now you 
      probably have a browser application, a word processing application, an
      e-mail 
      application and so on. You can also buy new applications and install them.
      
It turns out that the BIOS is the third type of software your computer 
    needs to operate successfully. In this edition of
    HowStuffWorks, 
    you'll learn all about BIOS -- what it does, how to configure it and what to 
    do if your BIOS needs updating. 
    
    
    
    
    What BIOS Does
    The BIOS software has a number of different roles, but its most important 
    role is to load the operating system. When you turn on your computer and the 
    microprocessor tries to execute its first instruction, it has to get that 
    instruction from somewhere. It cannot get it from the operating system 
    because the operating system is located on a hard disk, and the 
    microprocessor cannot get to it without some instructions that tell it how. 
    The BIOS provides those instructions. Some of the other common tasks 
    that the BIOS performs include: 
    
      - A power-on self-test (POST) for all of the different hardware 
      components in the system to make sure everything is working properly
        
- Activating other BIOS chips on different cards installed in the 
      computer - For example,
      SCSI and
      graphics 
      cards often have their own BIOS chips.
        
- Providing a set of low-level routines that the operating system uses 
      to interface to different hardware devices - It is these routines that 
      give the BIOS its name. They manage things like the
      keyboard, the
      screen, and 
      the serial 
      and parallel 
      ports, especially when the computer is booting.
        
- Managing a collection of settings for the
      hard disks, 
      clock, etc. 
The BIOS is special software that interfaces the major hardware 
    components of your computer with the
    operating 
    system. It is usually stored on a
    Flash memory 
    chip on the 
    motherboard, but sometimes the chip is another type of
    ROM. 
     
    
      
        | 
         BIOS uses Flash memory, a type of ROM.
 | 
    
    When you turn on your computer, the BIOS does several things. This is its 
    usual sequence: 
    
      - Check the CMOS Setup for custom settings 
- Load the interrupt handlers and device drivers 
- Initialize registers and power management 
- Perform the power-on self-test (POST) 
- Display system settings 
- Determine which devices are bootable 
- Initiate the bootstrap sequence 
The first thing the BIOS does is check the information stored in a tiny 
    (64 bytes) amount 
    of RAM located on a complementary metal oxide semiconductor (CMOS) 
    chip. The CMOS Setup provides detailed information particular to your system 
    and can be altered as your system changes. The BIOS uses this information to 
    modify or supplement its default programming as needed. We will talk more 
    about these settings later. 
    Interrupt handlers are small pieces of software that act as 
    translators between the hardware components and the operating system. For 
    example, when you press a key on your keyboard, the signal is sent to the 
    keyboard interrupt handler, which tells the CPU what it is and passes it on 
    to the operating system. The device drivers are other pieces of 
    software that identify the base hardware components such as keyboard, mouse, 
    hard drive and floppy drive. Since the BIOS is constantly intercepting 
    signals to and from the hardware, it is usually copied, or shadowed, 
    into RAM to run 
    faster. 
     
    
    
    
    
    Booting the Computer
    Whenever you turn on your computer, the first thing you see is the BIOS 
    software doing its thing. On many machines, the BIOS displays text 
    describing things like the amount of memory installed in your computer, the 
    type of hard disk and so on. It turns out that, during this boot sequence, 
    the BIOS is doing a remarkable amount of work to get your computer ready to 
    run. This section briefly describes some of those activities for a typical 
    PC. 
    After checking the CMOS Setup and loading the interrupt handlers, the 
    BIOS determines whether the
    video card 
    is operational. Most video cards have a miniature BIOS of their own that 
    initializes the memory and graphics processor on the card. If they do not, 
    there is usually video driver information on another ROM on the motherboard 
    that the BIOS can load. 
    Next, the BIOS checks to see if this is a cold boot or a reboot. 
    It does this by checking the value at memory address 0000:0472. A value of 
    1234h indicates a reboot, and the BIOS skips the rest of POST. Anything else 
    is considered a cold boot. 
    If it is a cold boot, the BIOS verifies RAM by performing a read/write 
    test of each memory address. It checks the PS/2 ports or
    USB ports for a 
    keyboard and a mouse. It looks for a peripheral component interconnect 
    (PCI) bus and, if it 
    finds one, checks all the PCI cards. If the BIOS finds any errors during the 
    POST, it will notify you by a series of beeps or a text message displayed on 
    the screen. An error at this point is almost always a hardware problem. 
    The BIOS then displays some details about your system. This typically 
    includes information about: 
    
    Any special drivers, such as the ones for small computer system 
    interface (SCSI) 
    adapters, are loaded from the adapter, and the BIOS displays the 
    information. The BIOS then looks at the sequence of storage devices 
    identified as boot devices in the CMOS Setup. "Boot" is short for 
    "bootstrap," as in the old phrase, "Lift yourself up by your bootstraps." 
    Boot refers to the process of launching the
    operating 
    system. The BIOS will try to initiate the boot sequence from the first 
    device. If the BIOS does not find a device, it will try the next device in 
    the list. If it does not find the proper files on a device, the startup 
    process will halt. If you have ever left a floppy disk in the drive when you 
    restarted your computer, you have probably seen this message. 
     
    
      
        | 
         This is the message you get if a floppy disk is in 
        the drive when you restart your computer.
 | 
    
    The BIOS has tried to boot the computer off of the floppy disk left in 
    the drive. Since it did not find the correct system files, it could not 
    continue. Of course, this is an easy fix. Simply pop out the disk and press 
    a key to continue. 
     
    
    
    
    
    Configuring BIOS
    In the previous list, you saw that the BIOS checks the CMOS Setup for custom 
    settings. Here's what you do to change those settings. 
    To enter the CMOS Setup, you must press a certain key or combination of 
    keys during the initial startup sequence. Most systems use "Esc," 
    "Del," "F1," "F2," "Ctrl-Esc" or "Ctrl-Alt-Esc" to enter setup. There is 
    usually a line of text at the bottom of the display that tells you "Press 
    ___ to Enter Setup." 
    Once you have entered setup, you will see a set of text screens with a 
    number of options. Some of these are standard, while others vary according 
    to the BIOS manufacturer. Common options include: 
    
      - System Time/Date - Set the system time and date 
- Boot Sequence - The order that BIOS will try to load the 
      operating system 
- Plug and Play - A standard for auto-detecting connected 
      devices; should be set to "Yes" if your computer and operating system both 
      support it 
- Mouse/Keyboard - "Enable Num Lock," "Enable the Keyboard," 
      "Auto-Detect Mouse"... 
- Drive Configuration - Configure hard drives, CD-ROM and floppy 
      drives 
- Memory - Direct the BIOS to shadow to a specific memory address
      
- Security - Set a password for accessing the computer 
- Power Management - Select whether to use power management, as 
      well as set the amount of time for standby and suspend 
- Exit - Save your changes, discard your changes or restore 
      default settings 
 
    
      
        | 
         CMOS Setup
 | 
    
    Be very careful when making changes to setup. Incorrect settings may keep 
    your computer from booting. When you are finished with your changes, you 
    should choose "Save Changes" and exit. The BIOS will then restart your 
    computer so that the new settings take effect. 
    The BIOS uses CMOS technology to save any changes made to the 
    computer's settings. With this technology, a small lithium or Ni-Cad
    battery can 
    supply enough power to keep the data for years. In fact, some of the newer 
    chips have a 10-year, tiny lithium battery built right into the CMOS chip!
    
     
    
    
    
    
    Updating Your BIOS
    Occasionally, a computer will need to have its BIOS updated. This is 
    especially true of older machines. As new devices and standards arise, the 
    BIOS needs to change in order to understand the new hardware. Since the BIOS 
    is stored in some form of ROM, changing it is a bit harder than upgrading 
    most other types of software. 
    To change the BIOS itself, you'll probably need a special program from 
    the computer or BIOS manufacturer. Look at the BIOS revision and date 
    information displayed on system startup or check with your computer 
    manufacturer to find out what type of BIOS you have. Then go to the BIOS 
    manufacturer's Web site to see if an upgrade is available. Download the 
    upgrade and the utility program needed to install it. Sometimes the utility 
    and update are combined in a single file to download. Copy the program, 
    along with the BIOS update, onto a floppy disk. Restart your computer with 
    the floppy disk in the drive, and the program erases the old BIOS and writes 
    the new one. You can find a BIOS Wizard that will check your BIOS at
    
    this site. 
    Major BIOS manufacturers include: 
    
    As with changes to the CMOS Setup, be careful when upgrading your BIOS. 
    Make sure you are upgrading to a version that is compatible with your 
    computer system. Otherwise, you could corrupt the BIOS, which means you 
    won't be able to boot your computer. If in doubt, check with your computer 
    manufacturer to be sure you need to upgrade.