next up previous
Next: Device interrupts Up: Design and implementation Previous: System call virtualization

Traps and faults

A processor trap is the other mechanism which can cause a process to enter the kernel. On UML, these are implemented with Linux signals. The entry to and exit from the kernel are similar to the case of a system call. When a process receives a signal, the tracing thread sees it before the process does. When this happens, the process is continued in kernel mode, but without saving the process state or imposing any new state. UML establishes its own handlers for all important signals, so when the process is continued, it continues into one of these handlers, which implement the kernel's interpretation of the signal.


Jeff Dike 2001-05-04