This section describes the procedure for running a user_level, standalone, or simulator x-kernel . A user_level x-kernel 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 x-kernel 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 x-kernel is a real, bootable kernel image.