ABSTRACT

Process creation and termination are the only mechanisms used by the UNIX system to execute external commands. In a typical time-sharing system such as UNIX, which allows multiple users to use a computer system and run multiple processes simultaneously, hundreds to thousands of processes are created and terminated every day. Remember that the CPU in the computer executes processes and that a typical system has only one CPU. The question is, how does a system with a single CPU execute multiple processes simultaneously? Even for systems with multiple CPUs or multiple cores in a CPU, the number of processes is greater than the number of CPUs or cores. How does a system with the number of processes larger than the number of CPUs or CPU cores execute these processes simultaneously? A detailed discussion of this topic is beyond the scope of this textbook, but we briefly address it in Section 10.2 and later in Section 10.5.1. Later in the chapter, we discuss viewing the static and dynamic state of processes, foreground and background processes, daemons, jobs, process and job attributes, and process and job control. We use the terms time sharing and multitasking synonymously.