A Basic Review Of PC Structure

Written by:  • Edited by: Bill Fulks
Updated Aug 13, 2009
• Related Guides: Firmware | Hard Drive | Operating System

A PC is a number of different pieces of hardware and software working together to allow you to perform tasks like surfing the internet and creating spreadsheets. The structure that allows these simple tasks to happen is complex, but can be broadly understood through five levels of abstraction.

Layers Of Abstraction

All modern Windows PCs are structured by using numerous layers of abstraction. A layer of abstraction can be roughly explained as a way to translate details of a specific functionality. As you'd expect, an Intel processor sitting on your desk has no way of running an operating system. There is no interface, there is no hardware connecting the processor to other components, and there is nothing translating the high-level programming languages used to code an operating system into low-level 1s and 0s understood by the processor.

That is where layers of abstraction come in. There are five basic layers. All of them are important, and although they are listed here from the lowest to the highest level, the terms "lowest" and "highest" should not be considered an implication that some layers are more important than others.

Hardware

Hardware is simply the physical electronics in your PC. Hardware usually cannot accomplish any tasks by itself, because without at least some form of firmware, there is nothing telling the hardware what it needs to do.

Hardware is important for determining what basic operations are possible, however. For example, there are many hardware connections on a motherboard which allow different pieces of hardware to transmit data between each other. If any of those hardware lines were cut off, then the computer would not be able to operate properly. And as you'd expect, a PC cannot perform any function which its hardware does not support. For example, you cannot have wireless on your PC without having a piece of hardware on your PC which is capable of transmitting and receiving a wireless signal.

Firmware

Firmware is a relative of software, but unlike software, it is written as a low-level language and incorporated directly into a piece of hardware through the use of on-board memory, such as a ROM or flash memory. Firmware is different from software because it is essential to determine how a device operates. For example, when a hard drive receives a command from the higher levels, it needs to know what to do with that command. If that data is not available, then the hard drive will do nothing. This is different from software. A piece of software may be critical for accomplishing a specific task, but it is not critical to the operation of the PC's hardware.

Firmware is a layer of abstraction, but it is common to find situations where firmware does not work with higher layers of abstraction. For example, a TV remote control has firmware that determines what happens when you press a button, but most remote controls don't have an operating system capable of running specific applications or a kernel that decides how to load applications into the remote's memory.

The Assembler

The assembly language is the code that is understood by a specific piece of hardware. It typically consists of extremely simple instructions which are determined by the manufacturer of the hardware. These simple instructions are different from one piece of hardware to another, so there must be some way of translating the commands sent from an operating system into specific commands that a given piece of hardware can understand.

That is where the assembler comes in. The assembler takes the high-level instructions sent from the kernel and translates it into the assembly language which is understandable by the hardware. At the lowest levels of a processor, for example, this code is the object code that most people have seen in pop culture at one point or another - a string of 0s and 1s.

Showing page 1 of 2

 
blog comments powered by Disqus
Email to a friend