1) The processes are running in the same, shared memory created by rfork(RFMEM). 2) The wctl named pipe makes it easy for programs like /bin/window to find the window system even if they are not in its name space. this is an issue for plumber commands. 3) This topic is discussed in the Acme paper. There is a data type called XFid that is used to manage a pool of threads in the main proc to handle requests on behalf of clients of the file system process. The advantage of this design is that anything that needs to access global data can do much less interlocking if it's a thread in the main proc rather than a separate proc. Threads are coroutines that schedule cleanly; procs are true process scheduled at arbitrary points by the operating system. -rob