Re: Newbie Question About Device Drivers

From: Don Burn (burn_at_stopspam.acm.org)
Date: 08/02/04


Date: Mon, 2 Aug 2004 09:32:05 -0400

In Windows NT/2000/XP/2003 you cannot access devices from a user space
program. Additionally, there are some capabilities such as system wide
monitoring of filesystem or network activities that need to be done in the
kernel.

Now the challenge is that the kernel is its own environment, with its own
API's and requirements. Additionally, in the kernel you have access to the
whole system space, so a mistake is likely to create a crash. So in general
if you can achieve what you want in user space, it is probably better to do
so. In fact Microsoft keeps talking about the possibility of some device
drivers (such as slow USB devices) being supported in user space in the
future.

Overall there are a lot of differences in the kernel and user programming,
give the group an idea of what you are thinking about and we can probably
give you guidance.

-- 
Don Burn (MVP, Windows DDK)
Windows 2k/XP/2k3 Filesystem and Driver Consulting
Remove StopSpam from the email to reply
"TerryW @vbssys.com>" <prog<NOSPAM> wrote in message
news:nsesg0d47ajr92vmhtegqbv9isp3fmkn54@4ax.com...
> What is the difference between device drivers and low level C++ or C
> code?  What are the Pros/Cons of either?
>
> TIA
>
> Terry W
>


Relevant Pages

  • Re: [ANNOUNCE][PATCH] Kcli - Kernel command line interface.
    ... Our devices ship with no user space, ... cause of most of the filesystem latency glitches he was hitting. ... of cross compiling the kernel and it is so simple. ... that having user space is worth all the overhead. ...
    (Linux-Kernel)
  • [OT] Advocacy (was: "Re: Universal sound card?")
    ... Decided to install within windows on a laptop. ... emulation layer is used in between the Linux-native filesystem used by ... performance as it keeps the kernel busy translating the filesystem I/O ...
    (comp.os.linux.hardware)
  • Re: Notes on support for multiple devices for a single filesystem
    ... Btrfs can support multiple underlying block ... devices for a single filesystem instances in a generalized and flexible way. ... reliable and not requiring additional user space programs in the boot ... We can either do this in user space, or in kernel space. ...
    (Linux-Kernel)
  • porting windows CE on Alteras excalibur board - boot errors
    ... getting boot errors after filesystem is initialized, ... Microsoft Windows CE Ethernet Bootloader Common Library Version 1.0 Built ... Launching the kernel ... 0x817f8400: InitializeJit ...
    (microsoft.public.windowsce.embedded)
  • Re: [9fans] p9p on win32?
    ... There are no Plan 9 isms in the p9p ... easily I could just use the plan9 code (except that ssl/tls is in the plan9 kernel). ... device driver to allow a psudo filesystem to live in user space. ...
    (comp.os.plan9)