Limitations of the Unix Process Model
The pure Unix model has several shortcomings/limitations:
- Any setup for a new process must be done in its context.
- Separated Fork/Exec is slow and/or complex to implement.
A more flexible process abstraction would expand the ability of a process to manage another externally.
This is a hallmark of systems that support multiple operating system “personalities” (e.g., NT) and “microkernel” systems (e.g., Mach).
Pipes are limited to transferring linear byte streams between a pair of processes with a common ancestor.
Richer IPC models are needed for complex software systems built as collections of separate programs.