Powering on the computer
When we 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) to
supply the computer and its components with proper amount of voltage and
electricity.
Once the
computer and its components have received ample power and the power supply
reports no errors then it sends a signal (using transistors) to the motherboard
and the computer processor (CPU). While this is happening, 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 location of 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 the components in the computer are present and is functioning
properly. If the computer does not pass any of these tests, it will encounter
an irregular POST. An irregular POST is a beep code that is different from the
standard one or two beeps. For example, an irregular POST could generate no
beeps at all or a combination of different beeps to indicate the cause of the
failure.
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, which 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 our 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, we'll
get a picture on our 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 know that this is a cold boot and will continue running
additional POST steps. Next, it tests the computer memory (RAM) installed in
the computer by writing to each chip.
Finally, the
POST will send signals to the computer floppy, optical, and hard drive to test
these drives. If all drives pass the test, the POST is complete and instructs
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, I’ll cover the
process of loading Microsoft Windows.
The BIOS first
hands control over to the bootstrap loader, which looks at the boot sector of
the hard drive. If our 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 this example,
the Microsoft Windows XP NT Loader (NTLDR) is found on the boot sector and tells
the computer where to find the remaining code on the hard drive. Next, Windows
loads the ntdetect.com file, which displays the Windows splash screen and loads
the Windows registry. After loading the registry, Windows 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, PCI, and ISA devices. After loading all these devices,
Windows then moves to loading full support of the hard 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.
Hardware devices communicating with the computer
After the
computer has loaded the operating system, hardware attached to the computer
must be able to communicate with the CPU. Hardware communication is done by
using an interrupt request (IRQ). Each time a hardware device needs the
attention of the computer the interrupt controller sends the request (INTR) to
the CPU so it temporarily stop what it is doing to process the request of the
hardware device. Anything that was being currently done by the CPU is put on
hold and stored as a memory address in the memory stack and is returned to
after the interrupt request is processed.
Comments
Post a Comment