Notes:


Here, I make a distinction between a virtual OS, which UML is, and a virtual machine, such as VMWare or Bochs, and describe its significance.
A virtual machine separates the host and guest OSes with a hardware emulation layer. This allows a standard OS kernel to run on top of another, but it also isolates them.
UML, as a virtual OS, is aware of the host OS and is able to use all of its capabilities. UML takes advantage of this by having its pseudo-terminals logging directly to files on the host. Similarly, syslog output can go directly to the host by tying the /dev/log socket to a socket on the host. These logging mechanisms are invisible to anyone inside UML, including root, and there is nothing that root inside UML can do to interfere with it.