0% found this document useful (0 votes)
2 views

Device Driver Activity

This document provides an overview of Windows drivers, including their definitions, types, and roles in the operating system. It details the structure of driver files, the distinction between user-mode and kernel-mode drivers, and the importance of driver testing. Additionally, it introduces built-in Windows utilities for managing and querying drivers, emphasizing the significance of driver stability for overall system performance.

Uploaded by

Leo Bendijo
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views

Device Driver Activity

This document provides an overview of Windows drivers, including their definitions, types, and roles in the operating system. It details the structure of driver files, the distinction between user-mode and kernel-mode drivers, and the importance of driver testing. Additionally, it introduces built-in Windows utilities for managing and querying drivers, emphasizing the significance of driver stability for overall system performance.

Uploaded by

Leo Bendijo
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 7

DEVICE DRIVER LABORATORY ACTIVTY

PREPARED BY: JAAFAR OMAR

Name:
Section:
Subject: IT204 Computer System Servicing

Definition and Types of Windows Drivers


A driver is a software component that provides an interface for a physical or virtual
device. A driver interprets high-level requests coming from user software and the
operating system into low-level commands recognized by a device.

Definition and Types of Windows Drivers


Driver Location in Windows
The Main Aspects of Windows Driver Testing

In Windows, drivers are stored as binary files with the .sys extension along with optional
supplementary files with .inf and .cat extensions.

.inf Files
The .inf file is a driver installation file that describes the type of device
that a driver is designed for, the location of driver files, and any
dependencies. During driver installation, data is entered in the system
registry from the .inf file. This registry serves as a database for a
driver’s configuration.

.cat Files
A .cat catalogue file contains a list of cryptographic hash sums of all
driver files. In Windows, installed drivers are usually stored in the
%SystemRoot%System32drivers system catalogue, but they can also be
stored in any other place. After installation, a driver is loaded in the
system and is ready to work.
Some driver types require a reboot after installation.
Driver Types
Drivers can be divided into user-mode and kernel-mode types depending
on their mode of execution.

 User-Mode Drivers
o User-mode drivers provide an interface between user
applications and other operating system components such
as kernel-mode drivers. A printer driver is an example of a
user-mode driver.

 Kernel-Mode Drivers
o Kernel-mode drivers are executed in the privileged kernel
mode. Kernel-mode drivers are usually in the form of a
chain formed during driver execution. The location of each
driver in this chain is defined by its task.

Queries from user applications to a device pass through several drivers.


Each of these drivers processes and filters the query, which is called an
IRP packet (I/O request packet) according to Windows driver
terminology. If a driver is loaded in the wrong place in the chain, then the
query will be processed incorrectly and, as a result, the system may crash.
Figure 1 below represents a simplified model of such a query for disk-
based input-output (I/O). A user app creates a query to read a file on the
disk. This query passes through a chain of drivers, each of which
processes incoming and outgoing packets.
In this article, we’ll focus on kernel-mode drivers.
Kernel-mode drivers can be divided into the following types:
1. Plug and play device drivers. These drivers ensure access to
physical plug and play (PnP) devices and manage device power.
2. Non plug- and play drivers. These drivers enhance user
application functionality and provide access to kernel-mode
features that are unavailable via standard API calls. These drivers
don’t work with physical devices.
3. File system drivers. These drivers provide access to the file
system. They transform high-level queries for
reading/recording files to low-level commands for a disk
driver (reading/recording a sector on a physical disk).

The Relationship between a Driver and a Device


Each kernel-mode driver works with a specific device, represented in
Windows as a device object. This means that the final destination for an
I/O query coming through a driver is always a physical or virtual device.
This applies to both drivers of physical PnP devices as well as non-PnP
software drivers. While testing drivers, it’s important to understand that
more than one driver exists between a user application and a device. In
the chain, each driver can influence the final result of the query to the
device.

Built-in Windows Utilities


Windows System Information (msinfo32)
Msinfo32 allows you to get a list of all registered drivers in the system,
the type of each driver, its current status (loaded/not loaded), and start
mode (System/Manual).
To call the System Information console, call the Run dialog using Win+R
and launch msinfo32. On the left sidebar of the System Information
console, choose the following tabs: Software Environments > System
Drivers.
(Sample Picture)

This utility allows you to review and store information about registered
drivers. It also lets you view a list of drivers from a remote computer if
you have access to its Windows Management Instrumentation (WMI).

! (Provide your own screenshot/s below)


Driverquery, a Command Line Utility
Driverquery provides information similar to that found in msinfo32. It
can be launched through cmd using the driverquery command:
(sample picture)

Additional parameters allow you to modify the output to the console:


driverquery /V is the command for detailed output. It allows you to get
driver status information similar to that shown by msinfo32.
driverquery /SI provides information about signed drivers.
driverquery /S system allows you to get the information about a driver on
a remote system.

! (Provide your own screenshot/s below)


The sc Command for Communicating with the Service
Control Manager
The sc, command allows you to review a driver’s status and launch or
stop the driver. To see a list of drivers, run the following command:
sc query type= driver
(sample picture)

! (Provide your own screenshot/s below)


Conclusion
In this article, we have described the main types of drivers and
approaches and utilities for testing them. Windows kernel driver testing
differs significantly from testing desktop apps. If a driver contains a bug,
it usually influences the stability of the whole system and eventually
leads to the BSOD (Blue Screen of Death).
Detecting, localizing, and eliminating driver errors significantly decreases
the risk of unstable system behavior for end-users.

You might also like