What is the difference between BIOS and CMOS?

What is the difference between BIOS and CMOS?
The BIOS and CMOS are often times thought to be the same thing, but they are not. They are two different components of a computer, but they do work together to make the computer function properly.

The BIOS is a computer chip on the motherboard that resembles the picture to the right. This chip contains a special program that helps the computer processor interact and control the other components in the computer. These other components include disc drives, video cards, sound cards, network cards, floppy drives, USB ports, hard drives, and others. Without the BIOS, the processor would not know how to interact or interface with the computer components, and the computer would not be able to function.
 

The CMOS is also a computer chip on the motherboard, but more specifically, it is a RAM chip. This is a type of memory chip which stores information about the computer components, as well as settings for those components. However, normal RAM chips lose the information stored in them when power is no longer supplied to them. In order to retain the information in the CMOS chip, a CMOS battery on the motherboard supplies constant power to that CMOS chip. If the battery is removed from the motherboard or runs out of juice (e.g. a dead CMOS battery), the CMOS would lose the information stored in it. Any settings you made in the CMOS setup would be lost, and you would need to make those settings changes again after a new CMOS battery was put on the motherboard. For example, with a dead CMOS battery the time and date will reset back to the manufactured date if it has been off for a long period of time.
The BIOS program on the BIOS chip reads information from the CMOS chip when the computer is starting up, during the boot up process. You may notice on the initial start up screen, called the POST screen, an option is available to enter the BIOS or CMOS setup. When you enter this setup area, you are entering the CMOS setup, not the BIOS setup. The BIOS chip and program cannot be updated directly by a user. The only way to update the BIOS is using a BIOS flash program called a BIOS update, which updates the BIOS to a different version. These updates usually are provided by either the motherboard manufacturer or the computer manufacturer.
The CMOS setup lets you change the time and date and settings for how devices are loaded at start up, like hard drives, disc drives, and floppy drives. The CMOS setup lets you enable and disable various hardware devices, including USB ports, the onboard video card and sound card (if present), parallel and serial ports, and other devices.