# Understanding User and Kernel Mode

**URL:** <https://discourse.codinghorror.com/t/understanding-user-and-kernel-mode/405>\
**Category:** blog\
**Created:** [January 3, 2008, 12:00am UTC](https://discourse.codinghorror.com/t/understanding-user-and-kernel-mode/405 "2008-01-03T00:00:00Z")\
**Posts on this page:** 1\
**Showing post:** 21

<div class="post-metadata">

**Author:** ![MikeD](https://discourse-cdn.codinghorror.com/letter_avatar_proxy/v2/letter/m/ed655f/32.png) [@MikeD](https://discourse.codinghorror.com/u/MikeD)\
**Post date:** [January 4, 2008, 12:00am UTC](https://discourse.codinghorror.com/t/understanding-user-and-kernel-mode/405/21 "2008-01-04T00:00:00Z")

</div>

Actually, .NET exceptions are implemented in terms of SEH exceptions, which means that they _do_ go on a trip through kernel mode. See [http://blogs.msdn.com/cbrumme/archive/2003/10/01/51524.aspx](http://blogs.msdn.com/cbrumme/archive/2003/10/01/51524.aspx) for Chris Brumme’s explanation.

And it’s not fair to say that ‘most’ drivers are moving to user mode. Things like fixed disk drivers are still fundamental to system operation and will stay in kernel mode. But USB devices (e.g. Windows Mobile device sync) are starting to move to user mode, and audio devices did in Windows Vista.

---

_[View the full topic](https://discourse.codinghorror.com/t/understanding-user-and-kernel-mode/405)._
