---------------------------------------------------------- Permission is granted for
below article to forward, reprint, distribute, use for ezine, newsletter, website, offer as free bonus or part of a product for sale as long as no changes are made and
byline, copyright, and
resource box below is included. ----------------------------------------------------------Understanding
Software Layers of a Computer
By Stephen Bucaro
You're typing in a word processor and you decide it would be nice to have a hard copy. You select File | Print in
menu and
printer comes to life, feeding out a copy of your document on paper. It seems like a simple process, but in reality your request passed through many layers of software before reaching your printer.
Although you requested
print through a menu of your word processing application, that application did not contact
printer directly. Instead,
aplication made a request to
computer's operating system. Remember, today's computers are multi-tasking. That means they can perform more than one task at a time. The operating system mediates
priority of multiple tasks requesting to use a hardware device.
The operating system did not contact
printer directly. Remember, today's computers can have a multitude of different hardware attached. There are thousands of different kinds of printers, and a computer may have several printers attached. Instead,
operating system communicates with a piece of software called a "device driver", specific to
printer that you selected.
The device driver did not contact
printer directly. Instead,
device driver contacted a program called
BIOS (Basic Input/Output System). Whereas all
programs up to this point had been loaded from
computers hard drive,
BIOS was loaded from a memory chip. Finally,
BIOS communicates directly with
electronic circuits of
printer.
[Application]--[Operating System]--[Device Driver]-- [BIOS]--[Hardware]
The above explanation describes
common software layers of a computer. Each of
software layers described above may itself consist of many layers. An application may communicate with
operating system through a piece of software called a DLL (Dynamic Link Library).
The operating system especially is constructed of many layers. Sometimes
operating system is described to be like an onion. At
center of
onion is
operating systems kernal. Only other layers of
operating system are allowed to communicate directly with
kernal. The outer layer of
operating system consists of programs called services which applications can communicate with directly.
It is possible to communicate with
printer directly (well almost). Most operating systems have a command line interface that lets users communicate more directly with
operating system and with hardware devices through
BIOS. The most familiar command line interface is
DOS Command Prompt.