Вы находитесь на странице: 1из 5

Firmware is a term sometimes used to denote the fixed, usually rather small, programs

that internally control various electronic devices. Typical examples range from end-user
products such as remote controls or calculators, through computer parts and devices like
hard disks, keyboards, TFT screens or memory cards, all the way to scientific
instrumentation and industrial robotics. Also more complex consumer devices, such as
mobile phones, digital cameras, synthesizers, etc., contain firmware to enable the device's
basic operation as well as implementing higher level functions.
There are no strict, or well defined, boundaries between firmware and software; both are
loose descriptive terms. However, firmware is typically involved with very basic lowlevel operations in a device, without which the device would be completely nonfunctional. Firmware is also a relative term, as most embedded devices contain firmware
at more than one level. Subsystems such as LCD modules, flash chips, communication
controllers etc, have their own (usually fixed) program code and/or microcode, regarded
as 'part of the hardware' by the higher level firmware.
Simple firmware typically reside in ROM or OTP/PROM, while more complex firmware
often employ flash memory to allow for updates. Common reasons for updating firmware
include fixing bugs or adding features to the device. Doing so usually involves loading a
binary image file provided by the manufacturer into the device, according to a specific
procedure; this is sometimes intended to be done by the end user.

In computing, a device driver or software driver is a computer program allowing


higher-level computer programs to interact with a hardware device.
A driver typically communicates with the device through the computer bus or
communications subsystem to which the hardware connects. When a calling program
invokes a routine in the driver, the driver issues commands to the device. Once the device
sends data back to the driver, the driver may invoke routines in the original calling
program. Drivers are hardware-dependent and operating-system-specific. They usually
provide the interrupt handling required for any necessary asynchronous time-dependent
hardware interface.

The User-Mode Driver Framework is a device-driver development platform first


introduced with Microsoft's Windows Vista operating system, and is also available for
Windows XP. It facilitates the creation of drivers for certain classes of devices.

The Kernel-Mode Driver Framework (KMDF) is a driver framework developed by


Microsoft as a tool to aid driver developers create and maintain Kernel mode device

drivers for Windows 2000[1] and later releases. It is one of the frameworks included in the
Windows Driver Foundation. The current version is 1.7.

n computing, the Windows Driver Model (WDM) also known at one point as the
Win32 Driver Model is a framework for device drivers that was introduced with
Windows 98 and Windows 2000 to replace VxD, which was used on older versions of
Windows such as Windows 95 and Windows 3.1, as well as the Windows NT Driver
Model.

Device function drivers


A function driver is the main driver for a device. A function driver is typically written by
the device vendor and is required (unless the device is being used in raw mode). A
function driver can service one or more devices.

Class drivers: These are a type of function drivers and can be thought of as builtin framework drivers that miniport and other class drivers can be built on top of.
The class drivers provide interfaces between different levels of the WDM
architecture. Common functionality between different classes of drivers can be
written into the class driver and used by other class and miniport drivers. The
lower edge of the class driver will have its interface exposed to the miniport
driver, while the upper edge of top level class drivers is operating system specific.
Class drivers can be dynamically loaded and unloaded at will. They can do class
specific functions that are not hardware or bus-specific (with the exception of bustype class drivers) and in fact sometimes only do class specific functions like
enumeration.
Miniport drivers: These are also function drivers for USB, Audio, SCSI and
network adapters. They should usually be source and binary compatible between
Windows 98 and Windows 2000 and are hardware specific but control access to
the hardware through a specific bus class driver.

[edit] Bus drivers


A bus driver services a bus controller, adapter, or bridge. Microsoft provides bus drivers
for most common buses, such as PCI, PnPISA, SCSI, USB and FireWire. Each software
vendor can create their own bus drivers if needed. A bus driver can service more than one
bus if there is more than one bus of the same type on the machine.

[edit] Filter drivers


Filter drivers are optional drivers that add value to or modify the behavior of a device
and may be non-device drivers. A filter driver can also service one or more devices.
Upper level filter drivers sit above the primary driver for the device (the function driver),
while lower level filter drivers sit below the function driver and above the bus driver.

Windows Display Driver Model (WDDM, also WVDDM) is the graphic driver
architecture for video card drivers running Microsoft Windows versions beginning with
Windows Vista. WDDM provides the functionality required to render the desktop and
applications using Desktop Window Manager, a compositing window manager running
on top of Direct3D 9.0Ex. It also provides device driver interfaces required by Direct3D
10 runtime.

Graphics accelerators

A GPU (Graphics Processing Unit) is a processor attached to a graphics card


dedicated to calculating floating point operations
A graphics accelerator incorporates custom microchips which contain special
mathematical operations commonly used in graphics rendering. The efficiency of
the microchips therefore determines the effectiveness of the graphics accelerator.
They are mainly used for playing 3D games or high-end 3D rendering.
A GPU implements a number of graphics primitive operations in a way that
makes running them much faster than drawing directly to the screen with the host
CPU. The most common operations for early 2D computer graphics include the
BitBLT operation (combines several bitmap patterns using a RasterOp), usually in
special hardware called a "blitter", and operations for drawing rectangles,
triangles, circles, and arcs. Modern GPUs also have support for 3D computer
graphics, and typically include digital videorelated functions

Selenium is a portable software testing framework for web applications. Selenium


provides a record/playback tool for authoring tests without learning a test scripting
language. Selenium provides a test domain specific language (DSL) to write tests in a
number of popular programming languages, including Java, Ruby, Groovy, Python, PHP,
and Perl. Test playback is in most modern web browsers. Selenium deploys on Windows,
Linux, and Macintosh platforms.
Selenium was developed by a team of programmers and testers at ThoughtWorks. It is
open source software, released under the Apache 2.0 license and can be downloaded and
used without charge. The latest side project is Selenium Grid, which provides a hub
allowing the running of multiple Selenium tests concurrently on any number of local or
remote systems, thus minimizing test execution time.

Windows Driver Foundation


: Is is a set of C++ class wrappers
: they make it easier to write a device driver

WDF is basically a wrapper over wdm


WDF defines a single driver model that you can use to create object-oriented, eventdriven drivers for either kernel mode or user mode. By using WDF, you can focus on the
functional requirements of your hardware instead of the low-level requirements of the
operating system.
WDF includes frameworks for developing kernel-mode and user-mode drivers, and it
includes several driver verification tools. WDF is provided as part of the current release
of the Windows Driver Kit (WDK).

WinDbg is a multipurpose debugger for Microsoft Windows, distributed on the web by


Microsoft. It can be used to debug user mode applications, drivers, and the operating
system itself in kernel mode. It is a GUI application, but has little in common with the
more well-known, but less powerful, Visual Studio Debugger.
WinDbg can be used for debugging kernel-mode memory dumps, created after what is
commonly called the Blue Screen of Death which occurs when a bug check is issued. It
can also be used to debug user-mode crash dumps. This is known as Post-mortem
debugging.

Integration testing (sometimes called Integration and Testing, abbreviated "I&T"[citation


needed]
) is the activity[1] of software testing in which individual software modules are
combined and tested as a group. It occurs after unit testing and before system testing.
Integration testing takes as its input modules that have been unit tested, groups them in
larger aggregates, applies tests defined in an integration test plan to those aggregates, and
delivers as its output the integrated system ready for system testing.

a sanity test is a very brief run-through of the functionality of a computer program,


system, calculation, or other analysis, to assure that the system or methodology works as
expected, often prior to a more exhaustive round of testing.

Contents
[hide]
It refers to the first test made after repairs or first assembly to provide
some assurance that the system under test will not catastrophically fail. After a smoke test

proves that "the pipes will not leak, the keys seal properly, the circuit will not burn, or the
software will not crash outright," the assembly is ready for more stressful testing.

Вам также может понравиться