A Process has a self-contained execution environment. A Process generally has a complete, private set of basic run-time resources; in particular, each Process has its own memory space. Processes are often seen as synonymous with Programs or Applications. However, a single application may in fact be a set of co-operating Processes. - To facilitate communication between Processes, most Operating Systems support Inter Process Communication (IPC) resources, such as pipes and sockets. IPC is used not just for communication between processes on the same system, but processes on different systems. Most implementations of the JVM run as a single Process. A Java application can create additional processes using a ProcessBuilder Object.