First page Back Continue Last page Summary Graphics
Kernel or process?
App would be an SMP virtual machine
Requires (at least) two threads
- main application thread would be a kernel thread
- outside requests handled by other UML threads
Some parts of app are normal user code
Some parts are kernel code
In kernel terms, something linking against UML would be an SMP virtual machine. It would need to be SMP because it would need to have multiple threads, at least one of which would be the main application thread, which would never call schedule(). Other kernel threads would be needed to handle internal kernel housekeeping and responding to the outside world if it was using the network.
It would contain its normal userspace code, which implements the normal userspace functionality.
It would also call into the kernel, and that code would act as a kernel and make the application look and act like a separate machine.