View Single Post
  #12 (permalink)  
Old August 19th, 2005
kmag kmag is offline
Enthusiast
 
Join Date: June 21st, 2005
Posts: 49
kmag is flying high
Default

Quote:
Originally posted by ultracross
nice peice of history and knowlegde you put together for us! but i always thought drivers run in special memory areas that are locked until it crashes, then windows just cleans/dumps that memory allocation and restarts the driver?
In the Windows NT/2000/XP/2k3 system terminology, "driver" is used to describe a bunch of different types of software components. However, network interface card (NIC) drivers typically run in kernel mode. See the "Network Drivers" section of http://www.windowsitlibrary.com/Content/280/01/3.html

Some drivers are user mode dlls. For instance, see the "low-level audio drivers" section of http://www.windowsitlibrary.com/Content/280/01/4.html Note, that in the section right below that, titled "Kernel-mode device drivers", the lowest-level audio device drivers still run in kernel mode.

In microkernel operating systems, typically the lowest level device drivers are in user space. The kernel usually maps the device's hardware registers into the driver's address space so that the driver can efficiently talk to the hardware without further kernel assistance.

Some people call the Windows NT architecture (WinXP is NT 5.1, Win2k3 is NT 5.2) a "modified microkernel". I guess that's because some of the subsystems were originally designed to run in user mode and are now running in kernel mode (for instance, the graphics device interface, or GDI).

Last edited by kmag; August 19th, 2005 at 03:51 PM.
Reply With Quote