Adding inter-program communication via pipes was relatively simple, because the pipe and filter model is a natural extension of the elegant UNIX file system. In contrast, the limited computational power of early PCs made it difficult to justify the large overhead of a multitasking operating system, since there was seldom enough power to run multiple programs simultaneously. Because programs ran one at a time, inter-program communication was impossible. The features of an operating system should be adapted to the requirements of the user, as well as the limitations of the hardware. UNIX was designed for use by researchers and programmers.
Researchers use computers to manipulate data, and programmers use computers to manipulate programs.
The pipe and filter model allows complex operations to be broken up into simple pieces, resulting in hard modularity between filter programs and encouraging code reuse. Personal computers were designed for an entirely different set of users. PC users expected PCs to simplify their lives immediately. As a result, PC operating systems were oriented around programs, rather than files. Each program performed a complete task, and file formats were frequently proprietary.