Conceptual
Login

User Space and Kernel Space

The machine is split in two: user space, where ordinary programs run with no access to hardware, and kernel space, where the operating system and drivers run with access to everything. Crossing between them happens only at defined points and costs something, which is why drivers are designed to do a lot per crossing. The split is also why a bug in a program kills the program while a bug in your driver can kill the machine.

Questions this Concept answers

  • Why are drivers designed to do a lot of work per crossing between the two sides?