UMLMON is a complete run time environment for User Mode Linux. There is a separate monitor daemon for every VM. It creates the run time environment and starts the VM by executing the UML kernel. The daemon also determines the arguments that are passed to the UML kernel, and includes special support to set up arguments for memory size, virtual disks, virtual network interfaces, and console channels in a convenient way. UMLMON also includes routines to do certain administration tasks like the creation of disks.