User and kernel space The longstanding rule is... anything which can be done in user space should be only necessary stuff goes into the kernel. Advantages to user space Safer, easier development environment Keep policy decisions out of the kernel Keep the kernel small Developers like to push things out of the kernel devfs -> udev But..should these be in user space? Suspend to disk Video adapter drivers Security policy decisions