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?
Kernel Mode and User Mode in Operating Systems
Operating systems divide execution into two privilege levels: user mode, where applications run isolated from each other and from core system resources with restricted hardware access, and kernel mod…