5. Processes and Threads
We now leave the subject of input and output to begin investigating the multitasking features of UNIX. This chapter deals with techniques for invoking programs and processes, using
wait, and related system calls. The next chapter explains simple interprocess communication using pipes. Chapters 7 and 8 continue with more advanced interprocess communication mechanisms.
My presentation is organized with the goal of implementing a fairly complete command interpreter, or shell. We’ll start with a limited shell that’s barely usable. Then we’ll keep adding features until we end up, in the next chapter, with a shell that can handle I/O redirection, pipelines, background processes, quoted arguments, ...