How does a computer work?
Originally posted on WIBC.con on 06/25/2010:
This will give you a better understanding of how the personal computer works and what it does each time you press the power button. This is pretty general; remember that the complexity of the computer can go a lot deeper than this.
Powering on the computer
When you first press the power button the computer sends a signal to the computer power supply, which converts the alternating current (AC) into direct current (DC) and gives the computer and the components in it with the proper amount of voltage and electricity.
Once the computer and its components have received power and the power supply reports no errors it sends a signal to the motherboard and the computer processor (CPU). During this time the processor will clear any leftover data in the memory registers and give the CPU program counter a F000 hexadecimal number. This number is the first instruction and tells the CPU that it’s ready to process the instructions contained in the basic input/output system (BIOS).
BIOS and the POST
When the computer first looks at the BIOS it begins the power-on self-test (POST) sequence to make sure each of the components in the computer are present and functioning properly.
If the computer passes the initial POST it will next look at the first 64-bytes of memory located in the complementary metal oxide semiconductor (CMOS) chip that is kept alive by the CMOS battery even when the computer is turned off. This chip contains information such as the system time and date and information about all the hardware installed in your computer.
After loading the CMOS information the POST will begin inspecting and comparing the system settings with what is installed in the computer. If no errors are found it will then load the basic device drivers and interrupt handlers for hardware such as the hard drive, keyboard, mouse, floppy drive. These basic drivers allow the CPU to communicate with these hardware devices and allow the computer to continue its boot process.
Next, the POST will check the real-time clock (RTC) or system timer and the computer system bus to make sure both of these are properly working on the computer. Finally, you’ll get a picture on your display after the POST has loaded the memory contained on the display adapter and has made it part of the overall system BIOS.
Next, the BIOS will check to see if it’s currently performing a cold boot or warm boot (reboot) by looking at the memory address 0000:0472, if it sees 1234h the BIOS knows that this is a reboot and will skip the remainder of the POST steps.
If 1234h is not seen the BIOS knows that this is a cold boot and will continue running additional POST steps. Next it tests the random access memory (RAM) installed in the computer by writing to each chip. With many computers you’ll know it’s on this step as you see the computer count the total installed memory in the computer as its booting.
Finally, the POST will send signals to each floppy, optical, and hard drive installed in the computer to test these drives. If all drives pass the test it’ll will then complete the POST and instruct the computer to start the process of loading the operating system.
Booting the operating system
After the computer has passed the POST, the computer will start the boot process. This process is what loads the operating system and all of its associated files. Because Microsoft Windows is the most commonly used operating system we will cover the process of loading Windows.
The BIOS first hands control over to the bootstrap loader, which looks at the boot sector of the hard disk drive. If your boot sequence in CMOS setup is not setup to look at the hard drive first, it may look at the boot sector on any inserted floppy disk drive or optical disc first before doing this.
In the case of Windows XP the NT Loader (NTLDR) is found on the boot sector and tells the computer where to find the remaining code on the hard disk drive. Next, Windows loads the ntdetect.com file that displays the starting Windows XP splash screen and loads the Windows registry. After loading the registry it begins to load dozens of low-level programs that make up the operating system into memory. Many of the initially loaded programs are what allow Windows to communicate with the essential hardware and other programs running on the computer.
After the registry has loaded the initial basic hardware devices it begins to load Plug and Play devices as well as Peripheral Component Interconnect (PCI) and any Industry Standard Architecture (ISA) devices. After loading these devices it then moves to loading full support for the hard disk drive, partitions and any other disk drives and then moves to all other drivers that have been installed.
Finally, after successfully completing the above steps any additional required services are loaded and Windows starts.