In this article, I'm going to reveal in plain English what a driver is, why we need drivers, and exactly where the drivers are hiding. To give you a basic understanding, I'm going to go back, way back, to the early days of computers.
Welcome to Bucaro TecHelp!

Welcome to Bucaro TecHelp!
Maintain Your Computer and Use it More Effectively
to Design a Web Site and Make Money on the Web

[About BTH]  [User Agreement]  [Privacy Policy]  [Site Map]  [Contact Form]  [Advertise on BTH]  [News Feed]

Google
Web
This Site

Device Driver Basics

Most people understand that the "hardware" part of their computer is the real physical parts, like the keyboard, mouse, modem, hard drive and so on. They understand that the "software" is computer bits stored on the hard drive, CD-ROM, or other storage media. But most people are a little hazy about exactly what a "driver" is.

In this article, I'm going to reveal in plain English what a driver is, why we need drivers, and exactly where the drivers are hiding. To give you a basic understanding, I'm going to go back, way back, to the early days of computers.

The Early Days

The year is 1981 and the world is in the midst of a severe resession. IBM's main frame business has slowed and the company is losing money. Up until now they had been laughing at the array of microcomputers on the market: Atari, Commodore, sinclair. Toys really, mostly used to play computer games.

The problem was, these "toys" were selling like hot cakes. IBM had to get into that market and get into it fast. They didn't have time to design and build a computer complete enough to compete in the market, so they built an "open system". They used commonly available electronic components and they published every design detail (including the code), and they even provided plug-in slots so that others could build components for their computer.

And people did provide components for the IBM PC. They provided video cards, memory expansion cards, input-output port cards, game port cards, hard disk interface cards, and much more. How were all these various devices able to interface with the PC's operating system? That's where a "driver" comes in.

A hardware device is constructed with various electronic components using various control signals, but the software interface to the operating system is standardized. A device's interface to the operating system must follow the interface specification. A driver is a piece of software that translates the hardware's control signals to signals that the operating system expects, and translates signals from the operating system to the hardware's control signals.

When the computer is started up, it would look in the "system" directory for files with the extension ".drv" and load them into memory. Specific files like autoexec.bat, config.sys, and win.ini were used to inform the operating system about drivers. Hardware would be configured through these files, or through jumpers located on the device itself.

The driver specification evolved along with the PC. Today when a PC starts, it executes the program ntdetect.com which queries the hardware components and builds the registery key HKEY_LOCAL_MACHINE\HARDWARE\SYSTEM\CurrentControlSet. This key exists only in memory and is created each time the computer boots. If all the drivers are loaded successfully, a copy of the key is saved as ControlSet00X.

Under the registery key CurrentControlSet, the subkey Enum contains a subkey for each harware device on the computer. Each device key contains fields for Hardware ID, Driver ID, Device Parameters, and other configuration data. The 32-bit drivers are files with the extension ".sys" and can be found in the folder C:/winnt/system32.

Computer Sections

RSS Feed RSS Feed

Basic PC Anatomy
The Computers Back Connector Panel
How to Choose a Computer Case
PC Processor Fundamentals
AMD Sempron Processor
AMD Athlon 64 Processor
The AMD Athlon 64 X2 Processor
Intel Celeron D Processor
Intel's Core 2 processors
CPU Sockets Roundup
Understanding Computer Memory
Power Supply Form Factors
Hardware Resources Explained
Device Driver Basics
How Does a Laptop Battery Work?
Understanding Graphic Cards
A+ Certification Study Guide
Motherboard Basics
General Overview Of Motherboards
Motherboard Form Factors
Understanding Your PC's CPU Clock Speed and Front Side Bus
Understanding The Speed Of New Pci Express Data Bus
A Guide To Building Your Own PC
Intermediate PC Build-it-Yourself Guide
Tips and Techniques For Building Your Own PC
Build Your Own Computer
How to Build a Computer
Building Your Own PC! - The Motherboard is the Core of the PC
XFX nForce 680i LT SLI Socket 775 Barebone Kit
Mach Speed P4MSD-800 D2 Motherboard and Intel Pentium D 940 3.20GHz Processor Bundle
Asus M2N4-SLI Socket AM2 AMD Athlon 64 X2 4600+ Barebone Kit
Anatomy of a Hard Drive
Hard Disk Drive Basics
How a Hard Disks Work
The Master Boot Record (MBR)
PC Disk File Systems
Serial ATA Hard Drive
How is Data Written, Stored On, and Erased From Hard Disks?
Hard Disc Fundamentals
The Hard Disk Drive vs. The Solid State Disk
The Universal Serial Bus
IEEE-1394 FireWire
The Small Computer System Interface (SCSI)
Plug and Play Resource Allocation
Get Familiar With MSDOS.SYS
Become Familiar with the Windows Registry
Understanding the Software Layers of a Computer
Advanced Micro Devices (AMD) Chipsets
Intel Chipsets
VIA Chipsets
Basic Computer Thermodynamics
A Guide to Basic PC Cooling
How Does the CPU Cache Work?
How does a CD Burner work?
Understanding Your Motherboard
All About Your Computer's BIOS
Expansion Cards
Power and Your PC
Hard Drives - ATA versus SATA
Inkjet Printers
How a laser Printer Works

Cash and Prizes for every survey completed
[Site User Agreement]  [Advertise on This site]  [Search This Site]  [Contact Form]
Copyright©2001-2007 Bucaro TecHelp P.O.Box 18952 Fountain Hills, AZ 85269