First page Back Continue Last page Summary Graphics
Security - full memory protection
Performance - tracing thread, block driver, host kernel
Ports - Linux/non-i386 and other OS ports
- Privileged instruction emulation
UML is nearly functionally complete at this point, but there are a few things that still need to be done. SMP needs to be turned back on and debugged. It needs privileged instruction emulation. Some kernel memory protection needs to be added so it can be used as a secure jail.
Performance needs to be improved. The tracing thread is a peformance bottleneck since every system call results in four context switches. Eliminating it would be very good for performance. The block device is currently another problem. It can only have one outstanding request at a time. As a result, the performance of IO-bound processes suffers. Some work may also be done to make the native kernel a better host for UML. Eliminating the tracing thread will require a new mechanism for intercepting system calls, like delivering a special signal to the process.
UML also needs to be ported, both to Linux on non-i386 and to other operating systems.
The virtual ethernet driver needs to be enhanced to allow its daemon to communicate with its peers on other machines, allowing a virtual ethernet to span multiple machines.
A special application which does not yet run on UML is UML itself. This is due to bugs which need to be found and fixed.