First page Back Continue Last page Summary Graphics
Processes
Each process gets a process in the host kernel
- Speeds context switching
- Complicates context switching
- Complicates debugging
- Complicates signal handling
- Introduces races
Notes:
Each UML process gets a process in the host kernel. This has one large advantage and several disadvantages. The advantage is that content switching is faster. The context of each process is saved in the host process, so the amount of remapping needed on a context switch is minimized.
On the other hand, context switching is more complicated because the tracing thread has to get involved by stopped the old process and starting the new old in order to avoid races arising from both processes running at once for a short time and being scheduled by the host in unexpected ways.
Debugging is also complicated because the debugger must follow the kernel from process to process as context switches happen. This works now, but will be more of a problem when SMP is turned on.