Driver Verifier

Driver Verifier is a tool included in Microsoft Windows that replaces the default operating system subroutines with ones that are specifically developed to catch device driver bugs.[1] Once enabled, it monitors and stresses drivers to detect illegal function calls or actions that may be causing system corruption. It acts within the kernel mode and can target specific device drivers for continual checking or make driver verifier functionality multithreaded, so that several device drivers can be stressed at the same time.[1] It can simulate certain conditions such as low memory, I/O verification, pool tracking, IRQL checking, deadlock detection, DMA checks, IRP logging, etc.[1] The verifier works by forcing drivers to work with minimal resources, making potential errors that might happen only rarely in a working system manifest immediately. Typically fatal system errors are generated by the stressed drivers in the test environment, producing core dumps that can be analysed and debugged immediately; without stressing, intermittent faults would occur in the field, without proper troubleshooting facilities or personnel.

Driver Verifier (Verifier.exe) was first introduced as a command-line utility in Windows 2000;[1] in Windows XP, it gained an easy-to-use graphical user interface, called Driver Verifier Manager, that makes it possible to enable a standard or custom set of settings to select which drivers to test and verify. Each new Windows version has since introduced several new, more stringent checks for testing and verifying drivers and detecting new classes of driver defects.

Driver Verifier is not normally used on machines used in productive work. It can cause undetected and relatively harmless errors in drivers to manifest, especially ones not digitally signed by Windows Hardware Quality Labs, causing blue screen fatal system errors. It also causes resource-starved drivers to underperform and slow general operation if the constraints imposed by Verifier are not reversed after debugging. Microsoft recommends against verifying all drivers at the same time.[2]

Driver Verifier
Driver Verifier in Windows 10
Driver Verifier in Windows 10
Developer(s)Microsoft
Operating systemMicrosoft Windows

References

  1. ^ a b c d Columbus, Louis (July 6, 2001). "How Windows XP's Device Driver Verifier Works". InformIT. (article provided courtesy of Sams Publishing).
  2. ^ "Things to consider before you enable Driver Verifier Manager on production servers". Support. Microsoft. January 7, 2008.

External links

Device driver synthesis and verification

Device drivers are programs which allow software or higher-level computer programs to interact with a hardware device. These software components act as a link between the devices and the operating systems, communicating with each of these systems and executing commands. They provide an abstraction layer for the software above and also mediate the communication between the operating system kernel and the devices below.

Usually the operating systems comes with a support for the common device drivers and usually the hardware vendors provide the device driver for their hardware devices for most platforms. The aggressive scaling of the hardware devices and the complex software components has made the device driver development process cumbersome and complex. When the size and functionality of the drivers started increasing the device drivers became a key factor in defining the reliability of the system. This has created an incentive towards automatic synthesis and verification of device drivers. This article sheds some light into some approaches in synthesis and verification of device drivers.

Features new to Windows XP

Windows XP introduced many features not found in previous versions of Windows.

Ntoskrnl.exe

ntoskrnl.exe (short for Windows NT operating system kernel), also known as kernel image, provides the kernel and executive layers of the Windows NT kernel space, and is responsible for various system services such as hardware abstraction, process and memory management, thus making it a fundamental part of the system. It contains the cache manager, the executive, the kernel, the security reference monitor, the memory manager, and the scheduler (Dispatcher).

ReactOS

ReactOS is a free and open-source operating system for x86/x86-64 personal computers intended to be binary-compatible with computer programs and device drivers made for Windows Server 2003 and later versions. ReactOS has been noted as a potential open-source drop-in replacement for Windows and for its information on undocumented Windows APIs.ReactOS has been in development since 1996. As of April 2019 it is still considered alpha software, feature-incomplete, but with many Windows applications already working, e.g., Adobe Reader 6.0, OpenOffice, and is, therefore, recommended by the developers only for evaluation and testing purposes.ReactOS is primarily written in C, with some elements, such as ReactOS File Explorer, written in C++. The project partially implements Windows API functionality and has been ported to the AMD64 processor architecture. ReactOS, as part of the FOSS ecosystem, re-uses and collaborates with many other FOSS projects, most notably the Wine project, which presents a Windows compatibility layer for Unix-like operating systems.

SLAM project

The SLAM project, which was started in 1999 by Thomas Ball and Sriram Rajamani of Microsoft Research, aimed at verifying software safety properties using model checking techniques. It was implemented in OCaml, and has been used to find many bugs in Windows Device Drivers. It is distributed as part of the Microsoft Windows Driver Foundation development kit as the Static Driver Verifier (SDV).

SLAM uses a technique called counterexample-guided abstraction refinement, which uses progressively better models of the program under test.

"SLAM originally was an acronym but we found it too cumbersome to explain. We now prefer to think of 'slamming' the bugs in a program." It probably stood for "Software, Languages, Analysis, and Modeling." Note that Microsoft has since re-used SLAM to stand for "Social Location Annotation Mobile".

Technical features new to Windows Vista

Windows Vista (formerly codenamed Windows "Longhorn") has many significant new features compared with previous Microsoft Windows versions, covering most aspects of the operating system.

In addition to the new user interface, security capabilities, and developer technologies, several major components of the core operating system were redesigned, most notably the audio, print, display, and networking subsystems; while the results of this work will be visible to software developers, end-users will only see what appear to be evolutionary changes in the user interface.

As part of the redesign of the networking architecture, IPv6 has been incorporated into the operating system, and a number of performance improvements have been introduced, such as TCP window scaling. Prior versions of Windows typically needed third-party wireless networking software to work properly; this is no longer the case with Windows Vista, as it includes comprehensive wireless networking support.

For graphics, Windows Vista introduces a new as well as major revisions to Direct3D. The new display driver model facilitates the new Desktop Window Manager, which provides the tearing-free desktop and special effects that are the cornerstones of the Windows Aero graphical user interface. The new display driver model is also able to offload rudimentary tasks to the GPU, allow users to install drivers without requiring a system reboot, and seamlessly recover from rare driver errors due to illegal application behavior.

At the core of the operating system, many improvements have been made to the memory manager, process scheduler, heap manager, and I/O scheduler. A Kernel Transaction Manager has been implemented that can be used by data persistence services to enable atomic transactions. The service is being used to give applications the ability to work with the file system and registry using atomic transaction operations.

Trusteer

Trusteer is a Boston-based computer security division of IBM, responsible for a suite of security software., Trusteer was acquired in September 2013 by IBM for $1 billion.Trusteer's portfolio of products aims to block online threats from malware and phishing attacks, and to support regulatory compliance requirements. Trusteer's malware research team aims to analyze information received from the installed base of 30,000,000 user endpoints and hundreds of organizations.Trusteer has a presence in North America, South America, Europe, Africa, Japan and China.

Windows 2000

Windows 2000 is an operating system that was produced by Microsoft as part of the Windows NT family of operating systems. It was released to manufacturing on December 15, 1999, and launched to retail on February 17, 2000. It is the successor to Windows NT 4.0.

Four editions of Windows 2000 were released: Professional, Server, Advanced Server, and Datacenter Server; the latter was both released to manufacturing and launched months after the other editions. While each edition of Windows 2000 was targeted at a different market, they shared a core set of features, including many system utilities such as the Microsoft Management Console and standard system administration applications.

Windows 2000 introduces NTFS 3.0, Encrypting File System, as well as basic and dynamic disk storage. Support for people with disabilities was improved over Windows NT 4.0 with a number of new assistive technologies, and Microsoft increased support for different languages and locale information. The Windows 2000 Server family has additional features, most notably the introduction of Active Directory, which in the years following became a widely-used directory service in business environments.

Microsoft marketed Windows 2000 as the most secure Windows version ever at the time; however, it became the target of a number of high-profile virus attacks such as Code Red and Nimda. For ten years after its release, it continued to receive patches for security vulnerabilities nearly every month until reaching the end of its lifecycle on July 13, 2010.Windows 2000 is the last version of Microsoft Windows to display the "Windows NT" designation, and the last version where the desktop and server versions of Windows shared the same name. It is succeeded by Windows XP (released in October 2001) and Windows Server 2003 (released in April 2003).

Windows Vista networking technologies

In computing, Microsoft's Windows Vista and Windows Server 2008 introduced in 2007/2008 a new networking stack named Next Generation TCP/IP stack,

to improve on the previous stack in several ways.

The stack includes native implementation of IPv6, as well as a complete overhaul of IPv4. The new TCP/IP stack uses a new method to store configuration settings that enables more dynamic control and does not require a computer restart after a change in settings. The new stack, implemented as a dual-stack model, depends on a strong host-model and features an infrastructure to enable more modular components that one can dynamically insert and remove.

Management
tools
Apps
Shell
Services
File systems
Server
Architecture
Security
Compatibility
API
Games
Discontinued
Spun off to
Microsoft Store

This page is based on a Wikipedia article written by authors (here).
Text is available under the CC BY-SA 3.0 license; additional terms may apply.
Images, videos and audio are available under their respective licenses.