Network server paradigms (ctd) Forking Single process accepts requests Each request is fork()ed to a new process to handle Requests are therefore now handled in parallel, no blocking Easy to go from Single Request -> Forking Easy to code for and debug fork() is quite expensive Used to be more expensive - hence vfork()! Since each request requires a process, there can be significant context switch overheads