This section describes the procedure for running a user_level, standalone, or simulator . A user_level runs in Unix user space, and usually uses a Unix socket interface (or other OS-specific interfaces, such as NIT) to send and receive messages on the network. A simulator also runs in user space, but doesn't use the network hardware at all; instead, it simulates traffic between hosts on a configurable network in virtual time. In contrast, the standalone is a real, bootable kernel image.