First page Back Continue Last page Summary Graphics
UML as userspace library
Package UML as linux.so (or linux.a)
Provides kernel functionality to processes
- Memory allocation and management
- Filesystems
- data storage - possibly persistent
- Networks
- Full stack
- Devices
- Process becomes full network node
Notes:
UML is currently built and packaged as a standalone executable. However, it is also possible to package it as a library which may be linked into any process which wants to.
This would provide kernel functionality to the application. They would get the kernel's memory allocation and management algorithms. They would gain all the filesystems, which could be used as an internal database for any application data (especially hierarchical data). If it is backed by a file on the host, that data would also be persistent and would have the consistence guarantees and recovery of the filesystem.
The presence of the networking stack and drivers would allow the application to be a full-fledged network node.