Chapter 8. Process Handling
The Unix operating system built its reputation on a small number of concepts, all of which are simple yet powerful. We’ve seen most of them by now: standard input/output, pipes, text-filtering utilities, the tree-structured filesystem, and so on. Unix also gained notoriety as the first small-computer operating system to give each user control over more than one process. We call this capability user-controlled multitasking.
If Unix is the only operating system that you’re familiar with, you might be surprised to learn that several other major operating systems have been sadly lacking in this area. For example, Microsoft’s MS-DOS, for IBM PC compatibles, has no multitasking at all, let alone user-controlled multitasking. IBM’s own VM/CMS system for large mainframes handles multiple users but gives them only one process each. Compaq’s OpenVMS has user-controlled multitasking, but it is limited and difficult to use. The latest generation of small-computer operating systems, such as Apple’s Macintosh OS X (which is BSD-based) and Microsoft’s Windows (Windows 95 and later), finally include user-controlled multitasking at the operating system level.
But if you’ve gotten this far in this book, you probably don’t think
that multitasking is a big deal.
You’re probably used to the idea
of running a process in the background by putting an ampersand (
&) at the end
of the command line.
You have also seen the idea of a shell subprocess in Chapter ...